Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Проектирование реализации операций бизнес-процесса «Анализ и изучение конкуренции.

Содержание:

ВВЕДЕНИЕ

В современных условиях конкурентоспособность предприятия на рынке является главным критерием эффективности производства, оценки эффективности системы управления.

Цель работы разработка информационной системы анализ и изучение конкуренции.

Задачи работы:

- постановка цели и задач разработки информационной системы анализа конкурентоспособности провайдерской фирмы;

- описание входных данных и документов информационной системы анализа конкурентоспособности провайдерской фирмы;

- описание выходных данных и документов информационной системы анализа конкурентоспособности провайдерской фирмы;

- математическое описание процедур анализа конкурентоспособности провайдерской фирмы;

- описание набора технических средств, необходимых при эксплуатации ИС «Конкуренция»;

- описание основных программных модулей, среды разработки и работы системы на контрольном примере.

ГЛАВА 1. АНАЛИТИЧЕСКАЯ ЧАСТЬ

Выбор комплекса задач автоматизации

Рисунок 1.1 - Общая схема оценки конкурентоспособности

На основе изучения рынка и требований пользователей выбирается услуга, по которой будет проводиться анализ или формулируются требования к будущей услуге, а далее определяется номенклатура параметров, участвующих в оценке. При анализе должны использоваться те же критерии, которыми оперирует потребитель, выбирая банковскую услугу. По каждой из групп параметров проводится сравнение, показывающее насколько эти параметры близки к соответствующему параметру потребности

Характеристика документооборота, возникающего при решении задачи

Исследование конкурентоспособности - это исследование позиций и возможностей организаций-конкурентов в целом, которое предполагает поиск ответов на четыре основные группы вопросов, вокруг которых строится структура системы слежения за конкуренцией:

1) каковы основные цели конкурентов?

2) каковы текущие стратегии достижения этих целей?

3) какими средствами располагают конкуренты, чтобы реализовать свои стратегии?

4) каковы их вероятные будущие стратегии?

Ответы на первые три группы вопросов должны обеспечить исходные данные для предвидения будущих стратегий. Исследование и анализ совокупности сведений по указанным четырем областям дает достаточно полную картину действий конкурентов.

По сути дела, разговор идет об исследовании конкурентоспособности предприятия и анализе информации о потенциале организаций - конкурентов и уровне его использования. Имеются в виду такие составляющие потенциала, как финансово - экономическая, производственная, научно - техническая, кадровая, организационно - лоббистская, маркетинговая.

С точки зрения результативности деятельности организаций - конкурентов на рынке и завоевания ими там сильных позиций можно выделить следующие основные факторы, на которые выделяют при исследовании конкурентоспособности предприятия:

1) имидж фирмы;

2) концепция продукта, на которой базируется деятельность фирмы;

3) качество услуг, уровень их соответствия мировому уровню (обычно определяется путем опросов, сравнительных тестов или расчетов);

4) уровень диверсификации производственно - хозяйственной деятельности (видов бизнеса), разнообразие номенклатуры услуг;

5) суммарная рыночная доля главных видов бизнеса;

6) мощность научно - исследовательской и конструкторской базы, характеризующей возможности по разработке новых продуктов (размер бюджета НИОКР, число сотрудников, оснащенность предметами и средствами труда, эффективность НИОКР);

7) мощность производственной базы, характеризующей возможности перестраиваться на выпуск новых продуктов и наращивать объемы выпуска освоенных продуктов (число занятых, оснащенность основными фондами, их уровень и эффективность использования, структура издержек, в том числе использование фактора экономии в зависимости от объема и освоенности выпуска);

8) стабильность финансово - экономического положения;

9) финансы, как собственные, так и привлекаемые со стороны;

10) рыночная цена с учетом возможных скидок или наценок;

11) частота и глубина проводимых маркетинговых исследований, их бюджет;

12) предпродажная подготовка, которая свидетельствует о способности организаций привлекать и удерживать потребителей за счет более глубокого удовлетворения их потребностей;

13) эффективность сбыта с точки зрения используемых каналов товародвижения;

14) уровень симулирования сбыта (работников сбытовых служб предприятия, торговых организаций и потребителей);

15) уровень рекламной деятельности;

16) уровень послепродажного обслуживания;

17) политика организаций во внешне предпринимательской среде, характеризующая способность организаций управлять в позитивном плане своими отношениями с государственными и местными властями, общественными организациями, прессой, населением и т.п.

В данном перечне вопросов указаны только важнейшие направления исследования деятельности предприятий - конкурентов. Перечень вопросов можно детализировать и дополнить за счет вопросов по изучению конкурентоспособности и эффективности маркетинговой деятельности.

Оценки приведенных выше факторов позволяют перейти к сравнительному анализу отдельных направлений бизнеса и продуктовых портфелей предприятий. По результатам исследований конкурентоспособности, проведенных по рассмотренным направлениям, проводится сравнительный анализ уровня отдельных атрибутов (параметров), достигнутого фирмами - конкурентами.

На основе анализа оценок, полученных при исследовании конкурентоспособности выявляются сильные и слабые стороны конкурентной борьбы по всем изученным направлениям конкурентоспособности. Далее разрабатываются мероприятия по закреплению сильных сторон и ликвидации слабых мест.

Анализ конкурентной среды обычно используется для анализа внешней ситуации (макроокружения) компании одиночного бизнеса. Конкурентный анализ касается ближайшего окружения фирмы (микроокружения). Логическим выходом стратегического анализа компании является оценка альтернатив для выбора стратегии. Таким образом, этот анализ - отправная точка процесса формирования стратегического плана.

Анализ конкурентов.

Если компания выходит на новый рынок, то не обойтись без анализа деятельности конкурентов. Необходимо провести анализ конкурентов и выявить их слабые и сильные стороны, каких шагов можно ожидать от них в ближайшее время , помочь предложить на рынок тот продукт или услугу, который позволит захватить рынок, потеснив конкурентов. Большое значение имеет получение оперативной информации о конкурентах, новых продуктах и услугах. Оперативное получение информации о конкуренте дает возможность быстрого анализа и реагирования для защиты своей доли рынка.

Результатами анализа конкурентов являются:

- сравнительный анализ участников рынка;

- определение сильных и слабых сторон каждого участника рынка;

- рекомендации по разработке мероприятий, связанных с повышением конкурентоспособности предприятия.

Важные моменты при анализе конкурента:

- цели и стратегия конкурента;

- слабые стороны конкурента, обычно выявляет SWOT-анализ;

- доступные ресурсы конкурента;

- руководство, корпоративная культура и менеджмент.

Сбор всех данных, необходимо для анализа конкурентов, на практике почти всегда невозможен.

Элементы анализа конкурентов.

Поведение анализа деятельности конкурентов связано с систематическим накоплением соответствующей информации. Всю информацию можно разделить на две группы:

- анализ количественной или формальной информации о конкурентах;

- анализ качественной информации о конкурентах.

Что мотивирует конкурента? Цели на будущее для различных сфер деятельности на всех уровнях управления. Как конкурент ведет или может вести себя? Использует ли современные стратегии конкурентной борьбы. Как конкурент ведет конкурентную борьбу? Представления о самом себе и отрасли. Возможности, сильные и слабые стороны. Это основные вопросы, ответы на которые способен дать анализ деятельности конкурентов. Такая информация, представленная в количественном виде является объективной и отражает фактические данные о деятельности конкурентов.

Так как услуги воспринимаются очень индивидуального и зависят от того, кто их оказывает, велико значение качественных характеристик конкурентов. Качественная информация представляет собой область субъективных оценок, поскольку включает многие не формализуемые параметры. Она может быть дополнена отзывами клиентов, специалистов, экспертов.

Комплексную оценку деятельности конкурентов можно получить, используя специальные таблицы, в которых содержаться данные об основных конкурентах. Анализ материалов этих таблиц позволяет правильно и своевременно реагировать на:

- смену основных конкурентов;

- специфические особенности стратегий конкурентов.

В ходе проведения анализа конкурентов, накапливается и анализируется следующая информация:

1) анализ количественной информации о деятельности конкурентов:

- организационно-правовая форма;

- численность персонала;

- активы;

- доступ к другим источникам средств;

- объем продаж;

- доля рынка;

- рентабельность;

- руководители фирмы;

- наличие и размеры филиальной сети;

- перечень основных видов услуг;

- другие количественные данные (например, стоимость услуг, расходы на рекламу и т.д.);

2) анализ качественной информации о деятельности конкурентов:

- репутация конкурентов;

- известность, престиж;

- опыт руководства и сотрудников;

- частота трудовых конфликтов;

- приоритеты;

- гибкость маркетинговой стратегии;

- эффективность продуктовой и услуговой стратегии;

- работа в области внедрения на рынок новых продуктов и услуг;

- ценовая стратегия;

- сбытовая стратегия;

- коммуникационная стратегия;

- организация маркетинга;

- уровень обслуживания клиентов;

- приверженность клиентов;

- реакция конкурентов на изменения рыночной ситуации.

В результате, анализ деятельности конкурентов показывает:

- где сильные места у конкурентов и где они слабее;

- чему конкуренты отдают предпочтение;

- как быстро можно ожидать реакции конкурентов;

- какие существуют барьеры для выхода на рынок;

- каковы перспективы выстоять в конкурентной борьбе.

- информация о конкурентах, сгруппированная по определенным показателям, дает возможность построить конкурентную карту рынка.

Для мониторинга и анализа конкурентов может использоваться анкета. Обычно проводится мониторинг конкурента по ключевым параметрам, которые отбирают после исследования рынка и основных конкурентов (см. таблица 1.1). Параметры вводятся в общую базу данных компании.

Таблица 1.1 - Мониторинг конкурента

Характеристика

Параметр

1

2

Услуги и цены 

Ассортимент 

Прайс-лист

Уровень цен

Гибкие цены/ скидки 

Формы оплаты

Лизинг

Количество выполненных услуг

Количество

Основные

По наименованиям

Оценка объема

Основные сделки

Специальные условия

Коммуникационные каналы 

Выделенная линия факса

Прием заказов по еmail

Прием заказов на сайте

Наличие корпоративного  портала

Персонал 

Численность сбыта/поставок

Численность компании

Доля персонала

Банковские представители 

Обслуживание 

Качество обслуживания

Cкорость обслуживания

Условия выполнения услуг

Информация об услуге

Возможность оказания услги

Консультирование 

Оформление банка (офиса для оказания)

Фирменный стиль

Внешний вид и поведение сотрудников

Возможность для потребителей изменить заказ

Наличие сервисного обслуживания

Дополнительные услуги

PR 

Рекламная деятельность

Примерные расходы

Выставочная деятельность

Планируемые выставки на год

Использование web-сайта

Маркетинг 

Состояние маркетинга

Руководитель

Количество сотрудников 

Расходы на маркетинг

Маркетинговые исследования

Значимость отдела маркетинга в структуре и  разработке стратегии

Руководство 

Генеральный

Политика

Начальник /Коммерческий

Стиль управления

Примечание

Собственник 

Группа/имя

Стратегия

Специальные связи и отношения

История компании 

Возраст

Адрес

Примечание

Активы 

Парк техники (период обновляемости, номенклатура, изношенность, год)

Номенклатура услуг

Модельный ряд

Применение

Потребность в перспективе

Отношения к новинкам

Потребность в сервисе, запасных частях

Примечание

Пресса 

Что читают

Выписывают

Интересно

Где идет реклама

Примечание

Характеристика существующих бизнес –процессов

Для выполнения моделирования бизнес процессов, строятся полные и непротиворечивые функциональные и информационные модели информационной системы. Эту цель воплощают CASE (Computer Aided Software Engineering) – средства. CASE - технология есть ничто иное как методология проектирования информационных систем. Сюда входит набор инструментальных средств, позволяющих в наглядной форме моделировать процесс, анализировать эту модель на всех этапах разработки и сопровождения системы .

AllFusion ERwin Data Modeler (ранее ERwin) — CASE-средство для проектирования и документирования баз данных, которое позволяет создавать, документировать и сопровождать базы данных, хранилища и витрины данных. Модели данных помогают визуализировать структуру данных, обеспечивая эффективный процесс организации, управления и администрирования таких аспектов деятельности предприятия, как уровень сложности данных, технологий баз данных и среды развертывания.

AllFusion ERwin Data Modeler (ERwin) предназначен для всех компаний, разрабатывающих и использующих базы данных, для администраторов баз данных, системных аналитиков, проектировщиков баз данных, разработчиков, руководителей проектов. AllFusion ERwin Data Modeler позволяет управлять данными в процессе корпоративных изменений, а также в условиях стремительно изменяющихся технологий.

AllFusion ERwin Data Modeler (ERwin и BPwin) позволяет наглядно отображать сложные структуры данных. Удобная в использовании графическая среда AllFusion ERwin Data Modeler упрощает разработку базы данных и автоматизирует множество трудоёмких задач, уменьшая сроки создания высококачественных и высокопроизводительных транзакционных баз данных и хранилищ данных. Данное решение улучшает коммуникацию организации, обеспечивая совместную работу администраторов и разработчиков баз данных, многократное использование модели, а также наглядное представление комплексных активов данных в удобном для понимания и обслуживания формате.

Стандарт IDEF является совокупностью методов, правил и процедур, предназначенных для построения функциональной модели объекта.

Диаграммы – основные компоненты модели. Все функции информационной системы на диаграммах представлены как блоки и дуги. Разновидность интерфейса, определяется местом, в котором соединяется дуга с блоком. Руководящая информация входит в блок сверху, в то время как информация, которую необходимо обработать, располагается с левой стороны блока. С правой стороны показаны результаты полученной информации.

Человек или оборудование, которые осуществляет операцию, входят в блок снизу и представляются дугой.

Немало важной особенностью такой методологии является постепенное введение все больших уровней детализации по мере создания диаграмм, отображающих модель.

В работе осуществляется планирование разработки и внедрения информационной системы. Моделирование этого процесса по стандарту IDEF0 проводится следующим образом (рис. 1.2).

Рисунок 1.2 - Общая диаграмма

Из диаграммы видно, что планируемая система будет разрабатываться и внедряться посредствам оборудования, персонала заказчика и персонала исполнителя. Регуляторами проекта являются требования к создаваемой системе и ГОСТ стандарт 34.601-90, который регламентирует стадии создания автоматизированных систем. По правилам методологии, далее необходимо провести детализацию (декомпозицию) основной программы, то есть смоделировать включенные в нее функциональные блоки и связи между ними.

По сути, следующая диаграмма (Рис. 1.3) является моделью жизненного цикла планируемой информационной системы.

Рисунок 1.3 - Декомпозиция общей диаграммы

На выходе с этапа обследования и постановки задачи, при участии персонала исполнителя и заказчика, имеем подписанный договор, утвержденный план-график, техническое задание, а так же готовую рабочую группу для работы над проектом (рис. 1.4).

КПГ и ТЗ становятся регулирующими документами, поэтому по правилам методологии IDEF0 в остальные блоки будут входить сверху, а образованная рабочая группа – снизу, так как будет являться ресурсом.

Рабочая группа в дальнейшем будет участвовать во всех этапах проекта, кроме подэтапа дополнительного обучения персонала, где она расформируется и ресурсом этой функции станет учебный центр НПО «Гефест».

Следующий шаг моделирования – декомпозиция каждого этапа жизненного цикла.

Из диаграммы (Рис. 1.4) видно, что Обследование, и постановка задачи включает в себя:

  • Сбор, анализ и согласование требований. Учитываются требования, как заказчика, так и исполнителя;
  • Обследование, в ходе которого делаются выводы, соответствует ли требованиям проекта оборудование заказчика и квалификация ключевых пользователей.

После этого подписывается договор, утверждается техническое задание, календарный план-график и создается рабочая группа, состоящая из бухгалтеров, руководителей отделов заказчика, IT специалистов и персонала исполнителя.

Рисунок 1.5- Декомпозиция этапа обследования и постановка задач

На этапе «проектирование» (Рис.1.4) в соответствии с техническим заданием создаются физические и логические модели будущей системы, структура базы данных, разрабатываются интерфейсы и безнес-сервисы. На выходе – макет проектируемой системы.

Рисунок 1.5 - Декомпозиция этапа «Проектирование».

На этапе тестирования (Рис. 1.6) проводится сдача макета, наполнение системы исходными данными. Параллельно ведется интеграции системы с программным обеспечением заказчика. После осуществляется тестирование и сдача системы заказчику. В случае возникновения ошибок, происходит откат на предыдущий функциональный блок, где ошибки исправляются.

Рисунок 1.6 - Декомпозиция этапа «Тестирование»

Этап внедрение (Рис. 1.7) характерен отсутствием управляющих элементов «ТЗ» и «Требования к системе» после первого функционального блока, так как система сдана заказчику. Календарный план график и ГОСТ по-прежнему являются управляющими элементами – жизненный цикл системы не закончен.

Так же в дополнительном обучении персонала не принимают участие рабочая группа и оборудование. Этот процесс должен происходить в учебном центре разработчика. Надо отметить, что весьма сложно заранее спланировать дополнительное обучение персонала, определить под него сроки и финансирование. Не всегда в начале проекта очевидна необходимость этого процесса. Тем не менее, во избежание рисков, в проект его закладывать необходимо.

Рисунок 1.7- Декомпозиция этапа «Внедрение»

Обоснование проектных решений по информационному обеспечению

Информационное обеспечение (ИО) предназначено для отражения информации, характеризующей состояние управляемого объекта и являющейся основой для принятия управленческих решений [8].

Однако, несмотря на существование унифицированной подсистемы документации, при обследовании большинства организаций постоянно выявляется целый комплекс типичных недостатков:

- чрезвычайно большой объем документов для ручной обработки;

- одни и те же показатели часто дублируются в разных документах;

- работа с большим количеством документов отвлекает специалистов от решения непосредственных задач;

- имеются показатели, которые создаются, но не используются.

Устранение указанных недостатков является одной из задач, стоящих при создании информационного обеспечения.

Разработка информационного обеспечения включает подготовку документов, содержащих информацию, необходимую для решения задачи, и анализ этой информации. Такой анализ позволит произвести формализацию данных, которая имеет целью их однозначное определение для хранения, поиска и обработки во внутри-машинной сфере.

1) Входные и выходные документы. Входными документами системы является приходная накладная и накладная на внутреннее перемещение.

Выходными документами являются: журнал прихода, журнал отгрузок, отчет по качеству, отчет по остаткам, отчет по инвентаризации, отчет «Резервы отделов КЦ».

За основу форм документов берутся бланки, используемые на предприятии. Их необходимо проанализировать, оценить полноту содержащейся в них информации, и использовать при проектировании системы.

2) Экранные формы

Для построения диалога с пользователем возможны следующие способы: диалог типа «Вопрос-ответ»; диалог типа «Меню», диалог на основе экранных форм, диалог на основе командного языка.

Для каждого из входных документов будут создаваться экранные формы ввода первичной информации. При этом необходимо обеспечить соответствие макета экранной формы форме входного документа. Не обязательно, чтобы внешний вид этих форм совпадал, но все вводимые элементы данных должны располагаться в том же относительном порядке и иметь такой же формат, что и в исходном документе.

Результатная информация должна отображаться на экранных формах в соответствии с формой выходного документа, т.е. на основе использования комбинированной формы с трехзонным расположением реквизитов и многострочной содержательной частью.

Все экранные формы должны быть удобными, понятными, эргономичными. Общий цвет информационной части должен быть спокойных тонов, не вызывающих усталости пользователя. Цвет полей, подлежащих вводу с клавиатуры, должен отличаться от цвета информационной части. Каждое поле должно быть снабжено подсказкой, которую следует выдавать на экран при неправильных действиях пользователя. Должна быть обеспечена возможность исправления ошибок во введенных данных.

3) Система классификации и кодирования. В системе необходимо учесть принятую на предприятии систему кодирования документов, а именно: документы одного типа нумеруются последовательно с начала года. Система кодирования артикулов товара также используется существующая на предприятии, т.к. она достаточна, привычна, и используется не только в автоматизируемом подразделении, но и в других отделах предприятия.

4) Информационная база. Центральным компонентом информационного обеспечения является информационная база (ИБА), представляющая собой организованную определенным способом совокупность данных, хранимых в памяти вычислительной системы в виде файлов, с помощью которых удовлетворяются информационные потребности управленческих процессов и решаемых задач. [1]

Существуют следующие способы организации информационной базы: совокупность локальных файлов, поддерживаемых функциональными пакетами прикладных программ, и интегрированная база данных, основанная на использовании универсальных программных средств загрузки, хранения, поиска и ведения данных, то есть системы управления базами данных (СУБД).

Локальные файлы обеспечивают более быстрое время обработки данных, однако при таком способе организации ИБ в информационной системе наблюдается высокая степень дублирования данных, несогласованность данных, отсутствие гибкости доступа к информации. Интегрированная база данных – это совокупность взаимосвязанных, хранящихся вместе данных при такой минимальной избыточности, которая допускает оптимальное их использование в различных приложениях.

Для решения поставленной задачи требуется интегрированная база данных, в которой взаимосвязаны данные.

Основными способами организации БД являются создание централизованных и распределенных БД. [4] В рассматриваемой задаче не предполагается распределенная структура ИС, т.к. задача небольшая по объему данных и по количеству пользователей.

Обоснование проектных решений по программному обеспечению

Основной особенностью системы «1С:Предприятие» является ее конфигурируемость. Набор объектов, структуры информационных массивов, алгоритмы обработки информации, соответствующих поставленной задаче, определяет конкретная конфигурация. Вместе с конфигурацией система «1С: Предприятие» выступает в качестве уже готового к использованию программного продукта, ориентированного на определенные типы предприятий и классы решаемых задач. Функционирование системы делится на два процесса – конфигурирование (описание модели предметной области средствами систем) и исполнение (обработку данных предметной области). Результатом конфигурирования является Конфигурация, которая представляет собой модель предметной области. Конфигурацией в системе «1С: Предприятие» называется совокупность трех взаимосвязанных составных частей:

- Структуры метаданных

- Набора пользовательских интерфейсов

- Набора прав

Разработка данного программного средства на платформе «1С: Предприятие 8.3» делится на три этапа:

  1. Создание конфигурации
  2. Создание встроенных программных модулей, использующих базу данных этой конфигурации
  3. Организация пользовательского интерфейса

В качестве среды реализации информационной системы была выбрана система «1С: Предприятие 8.3».

Выбор этой платформы обусловлен следующими фактами:

Информационное обеспечение компании построено на платформе «1С: Предприятие 8.3»;

Платформа «1С: Предприятие» обладает инструментарием для быстрой и качественной реализации проекта;

Система «1С: Предприятие» предоставляет широкий спектр возможностей по интеграции проекта в действующую на предприятии информационную среду.

Рассмотрим более подробно структуру системы «1С: Предприятие 8.3».

Система обладает своим собственным внутренним языком. Используя его как основу можно автоматизировать предметную область любой сложности, либо ее часть. Совокупность объектов метаданных, содержащих описание данных, программный код, реализующий логику, интерфейсную часть и отчетные формы носит название «Конфигурация».

Функциональность платформы «1С: Предприятие 8.3» реализована в трех компонентах:

Бухгалтерский учет;

Оперативный учет;

Расчет.

В качестве СУБД допускается использовать MS SQL Server, либо файл-серверный механизм с использованием dbf файлов. Система "1С:Предприятие" построена таким образом, что ни пользователь, ни разработчик не имеют прямого доступа к таблицам базы данных и работают с ними через объекты конфигурации. Базу данных 1С можно условно разделить на три составляющих:

Служебные данные. Содержат данные, необходимые для функционирования самой системы "1С:Предприятие".

Константы, справочники и документы. Содержат данные перечисленных объектов и формируют информационную базу конфигурации.

Аналитические объекты. К ним относятся планы счетов, регистры и расчеты. Предназначены для реализации аналитических функций "1С:Предприятия".

Вся бизнес-логика системы содержится в конфигурации и реализуется посредством следующих типов объектов:

Константы. Предназначены для хранения информации, общей для всех пользователей и относительно неизменной во времени.

Справочники. Содержат различную справочную информацию, например, информацию о номенклатуре, контрагентах, сотрудниках и т.п. Имеют экранную форму элемента и несколько форм списка, отображающих некоторое множество элементов справочника. Каждая форма имеет модуль, в котором на встроенном языке "1С:Предприятия" описана логика работы формы.

Документы. Являются основным функциональным элементом конфигурации. При помощи документов в систему вводится информация о выполнении этапов бизнес-процессов, автоматизированных конкретной конфигурацией. Документы являются единственными объектами, формирующими движения в аналитических объектах 1С. Каждый документ содержит форму документа, реализующую его интерфейс, модуль документа, в котором реализована логика формирования движений документа, а также может содержать одну либо несколько экранных форм.

Обработки. Представляют собой программные модули на встроенном языке, предназначенные для реализации любых действий с базой данных, за исключением формирования движений в аналитических объектах. Обеспечивают значительное повышение функциональных возможностей конфигурации. Имеют интерфейсную часть и могут иметь печатные формы.

Отчеты. Предназначены для формирования отчетов по базе данных конфигурации.

Взаимодействие пользователей с системой происходит посредством механизма интерфейсов. Интерфейс назначается каждому пользователю и содержит элементы главного меню и панелей инструментов. Каждый элемент связан с каким-либо объектом конфигурации либо служебным объектом. Кроме механизма интерфейсов при взаимодействии пользователя с системой задействуется механизм прав доступа, определяющий для каждого пользователя разрешения на использование объектов конфигурации.

ГЛАВА 2. ПРОЕКТНАЯ ЧАСТЬ

Информационная модель и её описание

Графическое представление информационной модели отражено на рис. 2.1.

Рисунок 2.1 – Информационная модель системы

Характеристика нормативно-справочной, входной и оперативной информации

При создании программного модуля были разработаны следующие элементы структуры метаданных:

      1. справочники.

Справочник – это средство для ведения списков однородных элементов данных. Помимо наименования элементов данных, списки могут содержать различную дополнительную информацию. Физическим аналогом справочника может являться картотека.

Каждая карточка – это элемент справочника, а сведения, заносимые в карточку, являются реквизитами справочника. Перечень справочников, доступных в конкретной конфигурации, их названия и реквизиты определяются в конфигураторе.

Услуги, описываются в справочнике «Услуги», реквизиты которого приведены в таблице 2.1

Таблица 2.1 – Описание справочника «Услуги»

Реквизит

Тип

Описание

Шапка

ТипУслуги

СправочникСсылка.

ТипыУслуг

Содержит тип услуги

Табличная часть «Услуги»

Услуга

Строка

Наименование услуги

Провайдер конкурент

СправочникСсылка.

Поставщик модели

Внешний вид

Строка

Внешний вид

Табличная часть «Описание услуги»

Услуга

Строка

Наименование услуг

Комплектность

Строка

Что входит в услугу

Для анализа конкурентов необходимо иметь информацию о них. Для выяснения первоначальной информации имеется несколько инструментов, которыми активно пользуются предприниматели:

▪ Интернет;

▪ личное посещение места оказания услуг;

▪ телефон;

▪ электронная почта.

Данную информацию можно хранить в справочнике «Конкуренты». Реквизиты справочника приведены в таблице 2.2.

Таблица 2.2 – Описание справочника «Конкуренты»

Реквизит

Тип

Описание

1

2

3

Шапка

Место расположения

Строка

Адрес компании

График работы

Строка

График работы

Уровень обслуживания

Строка

Уровень обслуживания по 5-балльной системе

Что понравилось

Строка

Что понравилось при личном посещении компании, просмотре сайта компании

Что не понравилось

Строка

Что не понравилось при личном посещении компании, просмотре сайта компании

Возраст компании

Строка

Возраст компании

Дополнительная информация

Строка

Основная информация, которая важна для оценки конкурента

Табличная часть «Услуги»

Услуга

СправочникСсылка. Номенклатура

Продаваемая услуга

Цена

Число

Цена услуги конкурента

      1. документы.

Документ – это средство для ввода первичной информации о совершаемых операциях. Перечень документов, доступных в конкретной конфигурации, их названия, реквизиты и другие свойства определяются в конфигураторе.

Для анализа деятельности конкурентов разработан документ «Деятельность конкурента», заполняемый в течение года или более мелкого периода. В документ записываются все акции, выставки и интернет-проекты конкурента. Реквизиты документа приведены в таблице 2.3.

Таблица 2.3 – Реквизиты документа «Деятельность конкурента»

Реквизит

Тип

Описание

Шапка

Конкурент

СправочникСсылка. Конкуренты

Конкурент

Табличная часть «Акции»

Дата начала

Дата

Период действия акции

Дата окончания

Дата

Вид акции

Строка

Условия акции

Строка

Табличная часть «Выставки»

Дата начала

Дата

Период действия выставки

Дата окончания

Дата

Место проведения

Строка

Место проведения выставки

Табличная часть «Интернет-проекты»

Условия проекта

Строка

Для оценки конкурентов необходимо знать информацию об оказании услуг фирмами-конкурентами.

Оценка эта приблизительная, основанная на разных косвенных признаках. Оценка оказанных услуг конкурентами ведется в документе «Услуги конкурентов» (таблица 2.4).

Также для анализа конкурентов создан документ «Анкета анализ конкурента». Анкета предназначена для мониторинга и анализа. Обычно проводится мониторинг конкурента по ключевым параметрам, которые отбирают после исследования рынка и основных конкурентов. Реквизиты документа приведены в таблице 2.5.

Таблица 2.4 – Реквизиты документа «услуги конкурентов»

Реквизит

Тип

Описание

Шапка

Дата начала

Дата

Отчетный период

Дата окончания

Дата

Табличная часть

Конкурент

СправочникСсылка. Конкуренты

Сумма продаж

Число

Оценочная сумма

продаж

Лучший товар

СправочникСсылка. Номенклатура

Оценка лучшего товара

Таблица 2.5 – Реквизиты документа «Анкета анализ конкурента»

Реквизит

Тип

Описание

1

2

3

Ассортимент   

Число

Услуги и цены

Прайс-лист  

Число

Уровень цен  

Число

Гибкие цены

Число

Формы оплаты  

Число

Количество  

Число

Оказанные услуги

Основные  

Число

Оценка объема  

Число

Специальные условия  

Число

Выделенная линия

Число

Коммуникационные каналы

Прием заказов по еmail  

Число

Прием заказов на сайте    

Число

Наличие корпоративного  портала  

Число

Численность сбыта/поставок  

Число

Персонал

Численность компании  

Число

Доля персонала

Число

Провайдеровскиепредставители   

Число

Качество обслуживания  

Число

Обслуживание

Cкорость обслуживания  

Число

Условия доставки товаров  

Число

Информация о товаре  

Число

Наличие товаров на складе  

Число

Консультирование   

Число

Оформление торгового зала

Число

Фирменный стиль  

Число

Внешний вид и поведение сотрудников  

Число

Возможность изменить заказ  

Число

Наличие сервисного

обслуживания  

Число

Обеспечение запасными частями  

Число

Дополнительные услуги  

Число

Рекламная деятельность  

Число

PR

Примерные расходы  

Число

Выставочная деятельность  

Число

Состояние маркетинга  

Число

Маркетинг

Расходы на маркетинг  

Число

Маркетинговые исследования  

Число

Генеральный  

Число

Руководство

Политика  

Число

Коммерческий  

Число

Стиль управления  

Число

Собственник    

Число

Собственник

Стратегия  

Число

Специальные связи

и отношения  

Число

Возраст  

Число

История компании

Адрес  

Число

Парк техники

Число

Активы

Номенклатура продукции

Число

Модельный ряд  

Число

Характеристика результатной информации

В ходе деятельности разработанной системы отдела формируются следующие выходные документы:

Основной причиной выбора платформы «1С: Предприятие 8» в качестве среды разработки было то, что у 80% бюджетных организаций преимущественно установлена платформа 1С,а высокая простота и скорость разработки прикладных решений в данной платформе послужит большим плюсом. Также очень существенно то, что выбранная платформа позволит разработчикам, сопровождающим программистам и пользователям легко изменять, дорабатывать, обновлять нашу программу.

Существуют 2 роли при работе с программой с 1С – это программист и пользователь, соответственно функционирование системы «1С: Предприятие» будет делиться на два процесса:

  • конфигурирование - описание модели предметной области средствами системы для программиста;
  • исполнение - обработку данных предметной области для пользователя.

Результатом конфигурирования будет являться конфигурация, которая представляет собой модель предметной области.

На этапе конфигурирования система оперирует такими понятиями (объектами) как «Документы», «Отчеты», «Справочники», «Реквизиты» и другие. Совокупность этих понятий и определяет концепцию системы. На уровне системы определены сами понятия и стандартные операции по их обработке. Средства конфигурирования позволяют описать структуры информации, входящей в эти объекты и алгоритмы, описывающие их специфику их обработки, для отражения различных особенностей учета.

В процессе конфигурирования формируется структура информационной базы, алгоритмы обработки, формы диалогов и выходных документов. Информационная структура проектируется на уровне предусмотренных в системе типов обрабатываемых объектов предметной области (константы, справочники, документы, регистры, перечисления, журналы расчетов, бухгалтерские счета, операции, проводки и другие).

При работе пользователя в режиме исполнения конфигурации обработка информации выполняется как штатными средствами системы, так и с использованием алгоритмов, созданных на этапе конфигурирования.

Для реализации новой конфигурации были использованы следующие базовые объекты метаданных:

  • Отчеты.

Общая структура конфигурации представлена на рис 2.2.

Рисунок 2.2 - Общая структура конфигурации

Общие положения (дерево функций и сценарий диалога)

Основным действующим лицом в разработанной системе является сотрудник отдела. Дерево функций для пользователя представлено на рисунке 2.3.

Рисунок 2.3 - Дерево функций системы сотрудника

Сценарии диалога, формирующийся на основе дерева функций, приведен на рисунке 2.4.

Рисунок 2.4 - Сценарий диалога для пользователя

Характеристика базы данных

Рисунок 2.5 - Функциональная схема автоматизации на базе «1С: Предприятие 8.3»

Структурная схема пакета (дерево вызова программных модулей)

Для разработки системы автоматизации организации используется система приложение. Эта система имеет модульную форму организации конфигурации. В глобальных модулях хранятся переменные, процедуры и функции доступные из любых других модулей. Также можно выделить другие группы модулей:

  • справочники
  • документы
  • отчеты
  • обработки
  • регистры.

Описание программных модулей

Работа с программой начинается с выбора пользователя и вывода информационного окна и активизации системы меню.

Работа программы осуществляется по диалоговому и событийному режиму, при этом по диалогом понимается предоставление пользователю нескольких альтернатив и обработка его выбора. В диалоговую систему входят главное меню с соответствующими всплывающими подменю а также диалоговые окна. Под событиями понимаются процессы активизируемые пользователем (например – нажатие функциональных клавиш), а также программные события – получение определенным полем фокуса редактирование или потеря фокуса ввода. На основании данных событий активизируются процедуры контроля допустимости данных.

Программа состоит из следующих основных модулей.

Глобальный модуль - конфигурация среды окружения, формирование основного экрана программы, создание системы главного меню и соответствующих подменю, активизация меню.

Процедуры формирования отчетов – обеспечение выдачи установленных форм документов на основании критериев, определяемых пользователем и информационной базы.

Модуль справочников и модуль документов - обеспечение ввода информации с первичных документов в базы данных, контроль за допустимостью значений, обеспечение ввода данных путем выбора из списка.

Все модули в программе связаны между собой по данным, которые анализируются на входе и вырабатываются на выходе. Данные в модули поступают через диалог с пользователем, параметры и документы информационной базы.

Для ведения информационной базы могут быть выполнены операции просмотра и печати документов, их редактирование, ведение нормативно-справочных документов, а также создание архивов и восстановление документов БД. Операции осуществляются путем выбора соответствующих пунктов в главном и подчиненных меню.

Данные через диалог могут быть получены прямым и косвенным способом. Прямой способ реализуется путем их ввода по шаблону или по запросу конкретных значений. Косвенный способ – путем меню.

Параметры (входные документы ) – входные данные, полученные в виде конкретных значений, переданных в оперативной памяти смежным модулям (функциям ).

    1. Контрольный пример реализации проекта и его описание

В интерфейс была добавлена панель «Конкуренты» на рис. 2.6.

Рисунок 2.6 –Панель «Конкуренты»

При создании программного модуля были разработаны следующие элементы структуры метаданных:

1) справочники.

Услуги провайдерской фирмы, описываются в справочнике «Услуги провайдерской фирмы» Вид справочника приведен на рисунке 2.7.

Рисунок 2.7 – Справочник «Услуги провайдерской фирмы»

Для анализа конкурентов необходимо иметь информацию о них. Данную информацию храним в справочнике «Конкуренты». Вид справочника приведен на рисунке 2.8.

Рисунок 2.8 – Справочник «Конкуренты»

  1. документы.

Для анализа деятельности конкурентов разработан документ «Деятельность конкурента», заполняемый в течение года или более мелкого периода. В документ записываются все акции, выставки и интернет-проекты конкурента.

Формы документа показаны на рисунке 2.9.

Рисунок 2.10 – Формы документа «Деятельность конкурента»

Для оценки конкурентов необходимо знать информацию об услугах конкурентов. Оценка конкурентов ведется в документе «Услуги конкурентов». Форма документа показана на рисунке 2.11. Для анализа деятельности конкурентов разработан отчет «Деятельность конкурентов», в котором по каждому конкуренту представлены сводные данные в одной таблице: акции, выставки, интернет-проекты (см. рисунок 12).

Рисунок 2.12 – Форма документа «Услуги конкурентов»

Рисунок 2.13– Отчет по деятельности конкурентов

Также для анализа конкурентов создан документ «Анкета анализ конкурента». Анкета предназначена для мониторинга и анализа. Обычно проводится мониторинг конкурента по ключевым параметрам, которые отбирают после исследования рынка и основных конкурентов.

На форме документа группы вопросов разбиты по соответствующим закладкам (рисунок 2.14)

На основании данных документов строится отчет, представляющий количественную оценку конкурентов компании по различным параметрам. Данный отчет позволяет провести сравнительный анализ параметров деятельности конкурентов (рисунок 2.14).

Рисунок 2.14 – Форма документа «Анкета анализ конкурента»

Рисунок 2.15 – Отчет по количественной оценке конкурентов

Другим этапом маркетинговых исследований конкурентов является построение конкурентной карты рынка. Она представляет собой классификацию конкурентов по занимаемой ими позиции на рынке.

Конкурентная карта рынка может быть построена с использованием двух показателей:

1) занимаемой рыночной доли;

2) динамики рыночной доли.

Для построения конкурентной карты используется документ «Конкурентная карта», представленный на рисунке 2.15. Документ заполняется ежемесячно. В каждом месяце по каждому конкуренту показывается доля рынка. На основании документов строится отчет (рисунок 2.15), по которому можно отследить динамику рыночной доли по каждому конкуренту.

Рисунок 2.15 – Документ и отчет «Конкурентная карта»

ЗАКЛЮЧЕНИЕ

Курсовая работа ставила целью разработать автоматизированную систему «Анализ и изучение конкуренции».

В результате проектирования была разработана программа «Анализ и изучение конкуренции», предназначенная для упрощения работы и экономию времени сотрудника.

У данного приложения удобный интерфейс, рассчитанный на не подготовленного пользователя.

Рекомендуется использовать программу на персональных компьютерах соответствующих требованиям к аппаратно-программному обеспечению.

В результате выполнения дипломного проекта были решены следующие задачи:

- Проведен анализ предметной области;

- Построена функциональная модель по результатам обследования предметной области;

- Выявлены недостатки существующей системы;

- Построена информационная модель данных;

- Построены дерево функций и сценарий диалога;

- Выполнено проектирование системы, которая позволяет более эффективно осуществлять ведение документооборота в рамках ведения проектов, а также подготовку и печать выходных документов;

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.
  2. Карпова Т.С. Базы данных: модели, разработка, реализация. – СПб.: Питер, 2001 – 304с.
  3. Базы данных: Учебник для вузов / Под ред. Проф. А.Д.Хомоненко. Изд. 2-е. – МПб.: КОРОНА принт, 2002. – 672с.
  4. Автоматизированные информационные системы, базы и банки данных. Вводный курс: Учебное пособие, М.: Гелиос АРВ, 2007. - 368 с., ил
  5. Баженова И. Ю. , Основы проектирования приложений баз данных, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2008 г., , 328 стр.
  6. Вендров А.М., CASE-технологии. Современные методы и средства проектирования информационных систем - М.: Финансы и статистика, 2007 г, 456 стр.
  7. Гашков С. Б., Э. А. Применко, М. А. Черепнев Криптографические методы защиты информации, М, Издательство: Академия, 2010 г., 304 стр.
  8. Гвоздева Т. В., Б. А. Баллод, Проектирование информационных систем, М, Издательство: Феникс, 2009 г., 512 стр.
  9. Голицына О. Л., И. И. Попов, Н. В. Максимов, Т. Л. Партыка, Информационные технологии, М, Издательство Инфра-М, 2009 г., 608 стр.
  10. Емельянова Н. З., Партыка Т. Л., И. И. Попов, Проектирование информационных систем, М, Издательство: Форум, 2009 г., 432 стр.
  11. Емельянова Н. З., Т. Л. Партыка, И. И. Попов, М, Издательство Форум, 2007 г., , 416 стр.
  12. Илюшечкин В. М. , Основы использования и проектирования баз данных, М, Издательство Юрайт, 2010 г., 224 стр.
  13. Кузнецов С. Д., Основы баз данных, М, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2007 г., 488 стр.
  14. БучГ. Объектно-ориентированное проектирование с примерами применения. М., 1992. - 654с.
  15. Волков В. Ф. Экономика предприятия. – М.: Вита-Пресс, 1998. – 380с.
  16. Галатенко В. Информационная безопасность // Открытые системы- 1996. – N 1-4.
  17. Жидецкий В. Ц. Охрана труда пользователей компьютеров. – К.: «Освгга», 1999.- 186с.
  18. Фатрелл Р., ШаферД. Шафер Л. Управление программными проектами: достижение оптимального качества при минимуме затрат. М.: «Вильямс», 2003. – 1128с.
  19. Кашаев С.М. «1С: Предприятие 8.1. Учимся программировать на примерах», Москва, 2010.
  20. Кашаев С.М. «1С Предприятие 8.1. Разработка прикладных решений», Санкт-Петербург, 2009.
  21. Шубина Е.В. «Работаем в 1С: Предприятие 8.1. Настройка, эксплуатация, конфигурирование и программирование», Ярославль, 2009.
  22. Попов С.А. «1С:Предприятие. Программирование информационного обмена», Санкт-Петербург, 2007.
  23. Кашаев С.М. «1С: Предприятие 8.1. Учимся программировать на примерах», Москва, 2010.
  24. Дубянский В. М. «1С: Предприятие 8.1 Конфигурирование и администрирование», Москва, 2008
  25. Радченко М.Г. «1С: Предприятие 8.1. Практическое пособие разработчика», Санкт-Петербург, 2006.
  26. Е. Ю. Хрусталева «Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных», Москва 2008.
  27. Кашаев С.М. « 1С: Предприятие 8.1. Разработка прикладных решений», Санкт-Петербург, 2009.
  28. Хрусталева E.Ю « Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных», Москва, 2008.
  29. Хрусталева Ю.Е. « Реализация прикладных задач в системе "1С:Предприятие 8.1"», Москва, 2010.
  30. Радченко М.Г. Хрусталева Е.Ю «1С:Предприятие 8.1. Практическое пособие разработчика. Примеры и типовые приемы», Санкт-Петербург, 2009.
  31. М. Е. Фленов «"1С:Предприятие 8". Конфигурирование и программирование оперативных учетных и управленческих задач, версия платформы 8.1», Санкт-Петербург, 2010.
  32. forum-1c.ru
  33. http://edu.1c.ru/
  34. http://devtrainingforum.v8.1c.ru/
  35. http://www.sos1c.org/
  36. http://www.mista.ru/
  37. http://1c-book.ru/
  38. http://easyprog.ru/
  39. http://www.lider-gsm.ru/programmy/1s-roznitsa.html?start=15

ПРИЛОЖЕНИЕ А - ЛИСТИНГ ПРОГРАММНЫХ МОДУЛЕЙ

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Если ((ЭлементыФормы.ЦенаПоступления.Значение)>0) Тогда

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ Наименование,ЦенаПоступления,ЦенаПродажи,ЕдиницаИзмерения ИЗ Справочник.Товары ГДЕ ЦенаПоступления < &Значение";

Запрос.УстановитьПараметр("Значение", ЭлементыФормы.ЦенаПоступления.Значение);

Выборка=Запрос.Выполнить().Выбрать();

Иначе

Выборка=Справочники.Товары.Выбрать();

КонецЕсли;

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Выборка = Справочники.Товары.Выбрать();

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные

// вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Если ((ЭлементыФормы.ЗначениеЦеныПоступления.Значение)> 0) Тогда

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ Наименование,ЦенаПоступления,ЦенаПродажи,

ЕдиницаИзмерения

ИЗ Справочник.Товары

ГДЕ ЦенаПоступления <= &Значение";

Запрос.УстановитьПараметр("Значение",

ЭлементыФормы.ЗначениеЦеныПоступления.Значение);

Выборка = Запрос.Выполнить().Выбрать();

Иначе

Выборка = Справочники.Товары.Выбрать();

КонецЕсли;

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные

// вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Если ((ЭлементыФормы.ВерхнееЗначениеЦеныПоступления.Значение > 0) ) Тогда

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ Наименование,ЦенаПоступления,ЦенаПродажи,

| ЕдиницаИзмерения

| ИЗ Справочник.Товары

| ГДЕ ЦенаПоступления >= &Значение И

| ЦенаПоступления <= &Значение2";

Запрос.УстановитьПараметр("Значение",

ЭлементыФормы.НижнееЗначениеЦеныПоступления.Значение);

Запрос.УстановитьПараметр("Значение2",

ЭлементыФормы.ВерхнееЗначениеЦеныПоступления.Значение);

Выборка = Запрос.Выполнить().Выбрать();

Иначе

Выборка = Справочники.Товары.Выбрать();

КонецЕсли;

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Для получения необходимой выборки мы изменили фрагмент условия в тексте запроса:

ГДЕ ЦенаПоступления >= &Значение И

ЦенаПоступления <= &Значение2";

Процедура КнопкаСформироватьНажатие(Кнопка)

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ

| Товар,

| СУММА(Количество) КАК КоличествоТоваров

| ИЗ

| Документ.ПоступлениеТоваров.ПереченьТоваров

| СГРУППИРОВАТЬ ПО Товар";

Результат = Запрос.Выполнить().Выбрать();

ТабДок = Новый ТабличныйДокумент;

Макет = Отчеты.ОтчетПоПоступлениям.ПолучитьМакет("Макет");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

// Перечень

Пока Результат.Следующий() Цикл

Область = Макет.ПолучитьОбласть("Строка");

Область.Параметры.Товар = Результат.Товар;

Область.Параметры.Количество = Результат.КоличествоТоваров;

ТабДок.Вывести(Область);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Приход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ДействияФормыИнформацияОТоварахСформировать(Кнопка)

//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(ИнформацияОТоварах)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;

ИнформацияОТоварах(ТабДок);

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА

КонецПроцедуры

Процедура ИнформацияОТоварах(ТабДок) Экспорт

//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(ИнформацияОТоварах)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Макет = ОтчетОбъект.ПолучитьМакет("ИнформацияОТоварах");

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| КоличествоТоваровОстатки.Товар,

| ПРЕДСТАВЛЕНИЕ(КоличествоТоваровОстатки.Товар),

| КоличествоТоваровОстатки.Филиал,

| ПРЕДСТАВЛЕНИЕ(КоличествоТоваровОстатки.Филиал),

| КоличествоТоваровОстатки.КоличествоОстаток

|ИЗ

| РегистрНакопления.КоличествоТоваров.Остатки КАК КоличествоТоваровОстатки";

Результат = Запрос.Выполнить();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

ТабДок.Очистить();

ТабДок.Вывести(ОбластьЗаголовок);

ТабДок.Вывести(ОбластьШапкаТаблицы);

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаДетали = Результат.Выбрать();

Пока ВыборкаДетали.Следующий() Цикл

ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);

ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());

КонецЦикла;

ТабДок.ЗакончитьАвтогруппировкуСтрок();

ТабДок.Вывести(ОбластьПодвалТаблицы);

ТабДок.Вывести(ОбластьПодвал);

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные

// вручную изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Расход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Приход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Расход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр ПродажиПоФилиалам

Движение = Движения.ПродажиПоФилиалам.Добавить();

Движение.Период = Дата;

Движение.Филиал = Филиал;

Движение.Менеджер = Менеджер;

Движение.Сумма = ТекСтрокаПереченьТоваров.Сумма;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Расход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

// регистр ПродажиПоФилиалам

Движение = Движения.ПродажиПоФилиалам.Добавить();

Движение.Период = Дата;

Движение.Филиал = Филиал;

Движение.Менеджер = Менеджер;

Движение.Сумма = ТекСтрокаПереченьТоваров.Сумма;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Если ((ЭлементыФормы.ЦенаПоступления.Значение)>0) Тогда

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ Наименование,ЦенаПоступления,ЦенаПродажи,ЕдиницаИзмерения ИЗ Справочник.Товары ГДЕ ЦенаПоступления < &Значение";

Запрос.УстановитьПараметр("Значение", ЭлементыФормы.ЦенаПоступления.Значение);

Выборка=Запрос.Выполнить().Выбрать();

Иначе

Выборка=Справочники.Товары.Выбрать();

КонецЕсли;

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Выборка = Справочники.Товары.Выбрать();

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные

// вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Если ((ЭлементыФормы.ЗначениеЦеныПоступления.Значение)> 0) Тогда

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ Наименование,ЦенаПоступления,ЦенаПродажи,

ЕдиницаИзмерения

ИЗ Справочник.Товары

ГДЕ ЦенаПоступления <= &Значение";

Запрос.УстановитьПараметр("Значение",

ЭлементыФормы.ЗначениеЦеныПоступления.Значение);

Выборка = Запрос.Выполнить().Выбрать();

Иначе

Выборка = Справочники.Товары.Выбрать();

КонецЕсли;

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные

// вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Если ((ЭлементыФормы.ВерхнееЗначениеЦеныПоступления.Значение > 0) ) Тогда

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ Наименование,ЦенаПоступления,ЦенаПродажи,

| ЕдиницаИзмерения

| ИЗ Справочник.Товары

| ГДЕ ЦенаПоступления >= &Значение И

| ЦенаПоступления <= &Значение2";

Запрос.УстановитьПараметр("Значение",

ЭлементыФормы.НижнееЗначениеЦеныПоступления.Значение);

Запрос.УстановитьПараметр("Значение2",

ЭлементыФормы.ВерхнееЗначениеЦеныПоступления.Значение);

Выборка = Запрос.Выполнить().Выбрать();

Иначе

Выборка = Справочники.Товары.Выбрать();

КонецЕсли;

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Для получения необходимой выборки мы изменили фрагмент условия в тексте запроса:

ГДЕ ЦенаПоступления >= &Значение И

ЦенаПоступления <= &Значение2";

Процедура КнопкаСформироватьНажатие(Кнопка)

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ

| Товар,

| СУММА(Количество) КАК КоличествоТоваров

| ИЗ

| Документ.ПоступлениеТоваров.ПереченьТоваров

| СГРУППИРОВАТЬ ПО Товар";

Результат = Запрос.Выполнить().Выбрать();

ТабДок = Новый ТабличныйДокумент;

Макет = Отчеты.ОтчетПоПоступлениям.ПолучитьМакет("Макет");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

// Перечень

Пока Результат.Следующий() Цикл

Область = Макет.ПолучитьОбласть("Строка");

Область.Параметры.Товар = Результат.Товар;

Область.Параметры.Количество = Результат.КоличествоТоваров;

ТабДок.Вывести(Область);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Приход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ДействияФормыИнформацияОТоварахСформировать(Кнопка)

//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(ИнформацияОТоварах)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;

ИнформацияОТоварах(ТабДок);

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА

КонецПроцедуры

Процедура ИнформацияОТоварах(ТабДок) Экспорт

//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(ИнформацияОТоварах)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Макет = ОтчетОбъект.ПолучитьМакет("ИнформацияОТоварах");

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| КоличествоТоваровОстатки.Товар,

| ПРЕДСТАВЛЕНИЕ(КоличествоТоваровОстатки.Товар),

| КоличествоТоваровОстатки.Филиал,

| ПРЕДСТАВЛЕНИЕ(КоличествоТоваровОстатки.Филиал),

| КоличествоТоваровОстатки.КоличествоОстаток

|ИЗ

| РегистрНакопления.КоличествоТоваров.Остатки КАК КоличествоТоваровОстатки";

Результат = Запрос.Выполнить();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

ТабДок.Очистить();

ТабДок.Вывести(ОбластьЗаголовок);

ТабДок.Вывести(ОбластьШапкаТаблицы);

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаДетали = Результат.Выбрать();

Пока ВыборкаДетали.Следующий() Цикл

ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);

ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());

КонецЦикла;

ТабДок.ЗакончитьАвтогруппировкуСтрок();

ТабДок.Вывести(ОбластьПодвалТаблицы);

ТабДок.Вывести(ОбластьПодвал);

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные

// вручную изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Расход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Приход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Расход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр ПродажиПоФилиалам

Движение = Движения.ПродажиПоФилиалам.Добавить();

Движение.Период = Дата;

Движение.Филиал = Филиал;

Движение.Менеджер = Менеджер;

Движение.Сумма = ТекСтрокаПереченьТоваров.Сумма;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Расход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

// регистр ПродажиПоФилиалам

Движение = Движения.ПродажиПоФилиалам.Добавить();

Движение.Период = Дата;

Движение.Филиал = Филиал;

Движение.Менеджер = Менеджер;

Движение.Сумма = ТекСтрокаПереченьТоваров.Сумма;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Если ((ЭлементыФормы.ЦенаПоступления.Значение)>0) Тогда

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ Наименование,ЦенаПоступления,ЦенаПродажи,ЕдиницаИзмерения ИЗ Справочник.Товары ГДЕ ЦенаПоступления < &Значение";

Запрос.УстановитьПараметр("Значение", ЭлементыФормы.ЦенаПоступления.Значение);

Выборка=Запрос.Выполнить().Выбрать();

Иначе

Выборка=Справочники.Товары.Выбрать();

КонецЕсли;

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Выборка = Справочники.Товары.Выбрать();

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные

// вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Если ((ЭлементыФормы.ЗначениеЦеныПоступления.Значение)> 0) Тогда

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ Наименование,ЦенаПоступления,ЦенаПродажи,

ЕдиницаИзмерения

ИЗ Справочник.Товары

ГДЕ ЦенаПоступления <= &Значение";

Запрос.УстановитьПараметр("Значение",

ЭлементыФормы.ЗначениеЦеныПоступления.Значение);

Выборка = Запрос.Выполнить().Выбрать();

Иначе

Выборка = Справочники.Товары.Выбрать();

КонецЕсли;

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные

// вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Если ((ЭлементыФормы.ВерхнееЗначениеЦеныПоступления.Значение > 0) ) Тогда

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ Наименование,ЦенаПоступления,ЦенаПродажи,

| ЕдиницаИзмерения

| ИЗ Справочник.Товары

| ГДЕ ЦенаПоступления >= &Значение И

| ЦенаПоступления <= &Значение2";

Запрос.УстановитьПараметр("Значение",

ЭлементыФормы.НижнееЗначениеЦеныПоступления.Значение);

Запрос.УстановитьПараметр("Значение2",

ЭлементыФормы.ВерхнееЗначениеЦеныПоступления.Значение);

Выборка = Запрос.Выполнить().Выбрать();

Иначе

Выборка = Справочники.Товары.Выбрать();

КонецЕсли;

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Для получения необходимой выборки мы изменили фрагмент условия в тексте запроса:

ГДЕ ЦенаПоступления >= &Значение И

ЦенаПоступления <= &Значение2";

Процедура КнопкаСформироватьНажатие(Кнопка)

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ

| Товар,

| СУММА(Количество) КАК КоличествоТоваров

| ИЗ

| Документ.ПоступлениеТоваров.ПереченьТоваров

| СГРУППИРОВАТЬ ПО Товар";

Результат = Запрос.Выполнить().Выбрать();

ТабДок = Новый ТабличныйДокумент;

Макет = Отчеты.ОтчетПоПоступлениям.ПолучитьМакет("Макет");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

// Перечень

Пока Результат.Следующий() Цикл

Область = Макет.ПолучитьОбласть("Строка");

Область.Параметры.Товар = Результат.Товар;

Область.Параметры.Количество = Результат.КоличествоТоваров;

ТабДок.Вывести(Область);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Приход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ДействияФормыИнформацияОТоварахСформировать(Кнопка)

//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(ИнформацияОТоварах)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;

ИнформацияОТоварах(ТабДок);

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА

КонецПроцедуры

Процедура ИнформацияОТоварах(ТабДок) Экспорт

//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(ИнформацияОТоварах)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Макет = ОтчетОбъект.ПолучитьМакет("ИнформацияОТоварах");

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| КоличествоТоваровОстатки.Товар,

| ПРЕДСТАВЛЕНИЕ(КоличествоТоваровОстатки.Товар),

| КоличествоТоваровОстатки.Филиал,

| ПРЕДСТАВЛЕНИЕ(КоличествоТоваровОстатки.Филиал),

| КоличествоТоваровОстатки.КоличествоОстаток

|ИЗ

| РегистрНакопления.КоличествоТоваров.Остатки КАК КоличествоТоваровОстатки";

Результат = Запрос.Выполнить();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

ТабДок.Очистить();

ТабДок.Вывести(ОбластьЗаголовок);

ТабДок.Вывести(ОбластьШапкаТаблицы);

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаДетали = Результат.Выбрать();

Пока ВыборкаДетали.Следующий() Цикл

ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);

ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());

КонецЦикла;

ТабДок.ЗакончитьАвтогруппировкуСтрок();

ТабДок.Вывести(ОбластьПодвалТаблицы);

ТабДок.Вывести(ОбластьПодвал);

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные

// вручную изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Расход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Приход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Расход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр ПродажиПоФилиалам

Движение = Движения.ПродажиПоФилиалам.Добавить();

Движение.Период = Дата;

Движение.Филиал = Филиал;

Движение.Менеджер = Менеджер;

Движение.Сумма = ТекСтрокаПереченьТоваров.Сумма;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Расход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

// регистр ПродажиПоФилиалам

Движение = Движения.ПродажиПоФилиалам.Добавить();

Движение.Период = Дата;

Движение.Филиал = Филиал;

Движение.Менеджер = Менеджер;

Движение.Сумма = ТекСтрокаПереченьТоваров.Сумма;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Если ((ЭлементыФормы.ЦенаПоступления.Значение)>0) Тогда

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ Наименование,ЦенаПоступления,ЦенаПродажи,ЕдиницаИзмерения ИЗ Справочник.Товары ГДЕ ЦенаПоступления < &Значение";

Запрос.УстановитьПараметр("Значение", ЭлементыФормы.ЦенаПоступления.Значение);

Выборка=Запрос.Выполнить().Выбрать();

Иначе

Выборка=Справочники.Товары.Выбрать();

КонецЕсли;

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Выборка = Справочники.Товары.Выбрать();

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные

// вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Если ((ЭлементыФормы.ЗначениеЦеныПоступления.Значение)> 0) Тогда

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ Наименование,ЦенаПоступления,ЦенаПродажи,

ЕдиницаИзмерения

ИЗ Справочник.Товары

ГДЕ ЦенаПоступления <= &Значение";

Запрос.УстановитьПараметр("Значение",

ЭлементыФормы.ЗначениеЦеныПоступления.Значение);

Выборка = Запрос.Выполнить().Выбрать();

Иначе

Выборка = Справочники.Товары.Выбрать();

КонецЕсли;

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные

// вручную изменения будут утеряны!!!

ТабДок = Новый ТабличныйДокумент;

Макет = Справочники.Товары.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

Если ((ЭлементыФормы.ВерхнееЗначениеЦеныПоступления.Значение > 0) ) Тогда

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ Наименование,ЦенаПоступления,ЦенаПродажи,

| ЕдиницаИзмерения

| ИЗ Справочник.Товары

| ГДЕ ЦенаПоступления >= &Значение И

| ЦенаПоступления <= &Значение2";

Запрос.УстановитьПараметр("Значение",

ЭлементыФормы.НижнееЗначениеЦеныПоступления.Значение);

Запрос.УстановитьПараметр("Значение2",

ЭлементыФормы.ВерхнееЗначениеЦеныПоступления.Значение);

Выборка = Запрос.Выполнить().Выбрать();

Иначе

Выборка = Справочники.Товары.Выбрать();

КонецЕсли;

Элемент = Макет.ПолучитьОбласть("Элемент");

Пока Выборка.Следующий() Цикл

Элемент.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Элемент);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

КонецПроцедуры

Для получения необходимой выборки мы изменили фрагмент условия в тексте запроса:

ГДЕ ЦенаПоступления >= &Значение И

ЦенаПоступления <= &Значение2";

Процедура КнопкаСформироватьНажатие(Кнопка)

Запрос=Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ

| Товар,

| СУММА(Количество) КАК КоличествоТоваров

| ИЗ

| Документ.ПоступлениеТоваров.ПереченьТоваров

| СГРУППИРОВАТЬ ПО Товар";

Результат = Запрос.Выполнить().Выбрать();

ТабДок = Новый ТабличныйДокумент;

Макет = Отчеты.ОтчетПоПоступлениям.ПолучитьМакет("Макет");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

// Перечень

Пока Результат.Следующий() Цикл

Область = Макет.ПолучитьОбласть("Строка");

Область.Параметры.Товар = Результат.Товар;

Область.Параметры.Количество = Результат.КоличествоТоваров;

ТабДок.Вывести(Область);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Приход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ДействияФормыИнформацияОТоварахСформировать(Кнопка)

//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(ИнформацияОТоварах)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;

ИнформацияОТоварах(ТабДок);

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА

КонецПроцедуры

Процедура ИнформацияОТоварах(ТабДок) Экспорт

//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(ИнформацияОТоварах)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Макет = ОтчетОбъект.ПолучитьМакет("ИнформацияОТоварах");

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| КоличествоТоваровОстатки.Товар,

| ПРЕДСТАВЛЕНИЕ(КоличествоТоваровОстатки.Товар),

| КоличествоТоваровОстатки.Филиал,

| ПРЕДСТАВЛЕНИЕ(КоличествоТоваровОстатки.Филиал),

| КоличествоТоваровОстатки.КоличествоОстаток

|ИЗ

| РегистрНакопления.КоличествоТоваров.Остатки КАК КоличествоТоваровОстатки";

Результат = Запрос.Выполнить();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

ТабДок.Очистить();

ТабДок.Вывести(ОбластьЗаголовок);

ТабДок.Вывести(ОбластьШапкаТаблицы);

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаДетали = Результат.Выбрать();

Пока ВыборкаДетали.Следующий() Цикл

ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);

ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());

КонецЦикла;

ТабДок.ЗакончитьАвтогруппировкуСтрок();

ТабДок.Вывести(ОбластьПодвалТаблицы);

ТабДок.Вывести(ОбластьПодвал);

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные

// вручную изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Расход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Приход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Расход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

КонецЦикла;

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр ПродажиПоФилиалам

Движение = Движения.ПродажиПоФилиалам.Добавить();

Движение.Период = Дата;

Движение.Филиал = Филиал;

Движение.Менеджер = Менеджер;

Движение.Сумма = ТекСтрокаПереченьТоваров.Сумма;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную

// изменения будут утеряны!!!

Для Каждого ТекСтрокаПереченьТоваров Из ПереченьТоваров Цикл

// регистр КоличествоТоваров Расход

Движение = Движения.КоличествоТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаПереченьТоваров.Товар;

Движение.Филиал = Филиал;

Движение.Количество = ТекСтрокаПереченьТоваров.Количество;

// регистр ПродажиПоФилиалам

Движение = Движения.ПродажиПоФилиалам.Добавить();

Движение.Период = Дата;

Движение.Филиал = Филиал;

Движение.Менеджер = Менеджер;

Движение.Сумма = ТекСтрокаПереченьТоваров.Сумма;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры