Автоматизация товарного учета продукции Zepter

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 18.07.2014
Размер файла 3,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

39

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

ДИПЛОМНЫЙ ПРОЕКТ НА ТЕМУ:

АВТОМАТИЗАЦИЯ товарного учета продукции

Содержание

Введение

I. Специальная часть

1. Постановка задачи

2. Формализация

3. Описание среды программирования

3.1 Требования к техническому обеспечению

3.2 Требования к программному обеспечению

4. Методика разработки проекта

4.1 Алгоритмизация задачи

4.1.1 Описание алгоритма

4.1.2 Структурная схема

4.2 Программирование

4.3 Аномалии и защитное программирование

4.4 Тестирование и отладка

5. Анализ результатов решения

6. Инструкция пользователю

II. Экономическая часть

Заключение

Литература

Приложение

Введение

Компания Zepter была основана Филиппом Цептером в 1986 году. Начинала компания с выпуска различной потребительской продукции, в основном - посуды из стали, и вскоре получила мировую известность.

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

В состав корпорации Zepter уже входит более 100 компаний в разных странах. На сегодняшний день ассортимент продукции компании Zepter в Москве представлен 4 брендами.

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

I.Специальная часть

1. Постановка задачи

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

· осуществлять полноценный электронный учет товара;

· производить поиск необходимых сведений о поставщиках и товаре;

· упрощать и ускорять процедуры оформления документов приема и продаж товара;

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

· оптимизировать работу с поставщиками;

· формировать и выводить на печать необходимую отчетную документацию.

Необходимо разработать программное приложение (посредством 1С), которое позволит вести автоматизированный учет товаров в магазине.

2.Формализация

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

Структурная связь

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

На следующем этапе уточняется структура полей в справочниках и документах, определяются правила ввода информации.

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

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

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

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

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

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

3. Описание среды программирования

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

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

3.1 Требования к техническому обеспечению

Персональный компьютер пользователя должен иметь минимальные требования для реализации 1С.

-печатающее устройство;

Ввод информации предусмотрен с помощью:

- Клавиатуры;

-Манипулятора типа “мышь”.

3.2 Требования к программному обеспечению

Для нормальной работы программы необходимо наличие на компьютере программного обеспечения:

-операционная система Microsoft Windows /98/2000/NT 4.0/XP;

-установленное ядро «1С:Предприятие 7.7 » однопользовательская версия.

4. Методика разработки программы

4.1 Алгоритмизация задачи

4.1.1 Описание алгоритма

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

В программе присутствуют следующие справочники:

Справочник №1: Товар

Индефикатор

Синонимы

Тип значения

Ред-ние

Обяз-ное поле

Код

-

Число

В диалоге

Да

Наименование

Товар

Строка

Да

Цена

Цена

Число

Да

Справочник №2: Сотрудники

Индефикатор

Синонимы

Тип значения

Ред-ние

Обяз-ное поле

Код

-

Число

В списке

Да

Наименование

Сотрудник

Строка

Да

Квалификация

Квалификация

Строка

Да

Справочник №3: Поставщики

Индефикатор

Синонимы

Тип значения

Ред-ние

Обяз-ное поле

Код

-

Число

В диалоге

Да

Наименование

Поставщик

Строка

Да

ИНН

ИНН

Число

Да

Адрес

Адрес

Строка

Да

Телефон

Телефон

Число

Да

Справочник №4: Покупатель

Индефикатор

Синоним

Тип значения

Ред-ние

Обяз-ное поле

Код

-

Число

В диалоге

Да

Наименование

Покупатель

Строка

Да

Телефон

Телефон

Число

Да

Программное обеспечение имеет следующие формы:

· Заявка - в этом документе сохраняются данные о покупателе сделавшего заказ на определённый товар.

· Поступление товара - данный документ предназначен для учета товара поступающего в магазин.

· Продажа - данный документ реализует возможность продажи товаров. При проведении документа фиксируется факт взаиморасчетов с покупателем.

· Списание - документ отображает какой товар, в каком количестве и по какой причине будет списан.

· Переоценка - данный документ предназначен для упрощения ввода новой розничной цены в справочник Товар.

Программное обеспечение имеет следующие отчеты:

· Остатки товара - отображает оставшееся количество товара.

· Отчет по продажам - отчет о проданном товаре.

· Заказы - в отчёте Заказы можно посмотреть, что именно и в каком количестве заказал покупатель.

· Списание - в этом отчете можно посмотреть, какой товар, в каком количестве и по какой причине был списан.

· Поступление - в этом отчете показывается, какой товар и в каком количестве поступил на продажу.

4.1.2 Структурная схема

4.2 Программирование

В соответствии со структурной схемой, приведенной выше, в представленном программном обеспечение разработаны тексты программных модулей на встроенном языке «1С:Предприятие7.7». Тексты, соответствующие программе и запросам, приведены в пункте V. “Приложение”

4.3 Аномалии и защитное программирование

Описание аномалии

Реакции на аномалию

Способ защиты

1. Ввод в поле не существующего товара.

Выводит сообщение о том, что, такого товара нет.

Защищено разработчиком.

2. Ввод в поле большее количество имеющегося товара.

Выводит сообщение о том, что, такого товара нет в таком количестве. Документ не проводится.

Защищено разработчиком.

3.Повторный ввод одного и того же товара.

Выводит сообщение о том, что, товар уже был введен.

Защищено разработчиком.

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

Ввода корректных данных дат: конечная дата должна быть больше начальной, иначе выводится сообщение об ошибке;

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

4.4 Тестирование и отладка

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

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

2) т.к. обнаружение ошибок в своей работе (программе) разработчику сложно, тестирование должен производить посторонний человек или организация;

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

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

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

6) следует сохранять использованные тесты (для повышения эффективности повторного тестирования программы после ее модификации или установки у заказчика);

Хотя программа прошла тестирование успешно, в ней, тем не менее, могут содержаться ошибки, т.к.

1) программа может не соответствовать своей внешней спецификации, что в частности, может привести к тому, что в ее управляющем графе окажутся пропущенными некоторые необходимые пути;

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

5. Анализ результатов решения

В соответствии с пунктом 4.4 тестирование и отладка производились непосредственно во время разработки приложения. После завершения работы было еще раз произведено полное тестирование всей программы.

Все найденные ошибки были успешно устранены.

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

программа электронный учет

6. Инструкция пользователю

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

Описание

Достоинства программы:

Удобство и простота в эксплуатации (минимальные навыки работы пользователя на 1С); существенное облегчение работы сотрудника магазина; более оперативное обслуживание клиентов; не большой объём занимаемой памяти. Для того чтобы открыть базу данных, необходимо открыть базу данных 1С «Zepter».

Запуск программы.

Запуск программы осуществляется нажатием левой клавиши мыши на ярлык программы «1С:Предприятие7.7»

В данной программе существует 2 набора прав: Администратор и пользователь. При запуске «1С:Предприятие7.7» необходимо выбрать пользователя и ввести пароль.

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

Открытая база “Zepter” выглядит следующим образом:

После запуска «1С:Предприятие7.7» вы можете открыть любой интересующий вас справочник, журнал документов, отчет, создать и провести новый документ.

Журнал документов можно открыть из меню “Журналы”:

Журнал «Общий»

Как и во всех других журналах, на форме присутствуют реквизиты: Дата, Время, Документ, Номер.

Журнал «Заявки»

На форме присутствуют реквизиты: Дата, Время, Документ, Номер и Заказчик.

Также в программе присутствуют справочники. Они необходимы для хранения различных данных. В меню “Справочники” можно открыть любой из справочников:

Справочник «Товары»

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

Справочник «Поставщики»

В данном справочнике можно отредактировать или посмотреть всю необходимую информацию об интересующем вас поставщике.

Справочник «Покупатели»

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

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

Любой документ можно открыть из меню ”Документы”.

Документ «Заявка»

Документ «Заявка» содержит информацию о заказчике и товаре, на который осуществляется заявка.

Документ «Поступление товара»

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

Документ «Продажа»

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

Документ «Списание»

Документ «Переоценка»

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

Отчет «Продажи»

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

Отчет «Заказы»

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

Отчет «Списание»

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

Отчет «Поступление»

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

Отчет «Остаток товара»

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

II .Экономическая часть

Для того чтобы данный проект был реализован в магазине необходимо подсчитать годовой экономический эффект от внедрения программного продукта «Автоматизация товарного учета продукции Zepter».

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

Таблица 1.

Этап разработки

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

Трудоёмкость ч.

Постановка задачи

Пред проектное обследование. Разработка, утверждение, технико-экономическое обследование.

10

Составление технического проекта

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

40

Составление рабочего проекта

Написание программы на языке программирования. Первоначальная отладка, тестирование. Разработка согласование и утверждения порядка и методики испытания. Корректировка программы.

85

Документирование и внедрение

Разработка программной документации. Сдача программы и программной документации.

25

ИТОГО:

160 ч.

Затраты на внедрение проекта.

Коэффициент сложности задачи C характеризует сложность данной программы по отношению к типовой задаче, сложность которой принята за 1 (величина C лежит в пределах от 0,5 до 1). Для данной программы C равно 0,7 , так как в данной программе разработаны формы, имеющие в себе наиболее удобный поиск информации, всевозможные отчёты.

C = 0,7 - коэффициент сложности программы

Коэффициент P увеличения объёма работ за счёт внесения изменений в алгоритм или программу по результатам уточнения установок. Коэффициент меняется от 0,1 до 0,5. Заказчик четко описал конечный результат, который должен выдаваться данным программным обеспечением, однако некоторые изменения и доработки все же придётся внести. Необходимо принять во внимание, что в данном случае заказчик не имел глубоких компьютерных знаний и не мог изначально объяснить задачу в целом. Это приводило к неоднократным доработкам, модернизациям и корректировке. Лучше всего взять среднее значение коэффициента.

Р = 0,3 - коэффициент увеличения работ

Коэффициент В - коэффициент увеличения затрат труда вследствие недостаточного описания задач. Коэффициент меняется от 1 до 1,5. В данном случае коэффициент В будет равен 1 , так как задача имеет достаточное описание для работы с ней.

В =1 - коэффициент увеличения затрат труда

Коэффициент К коэффициент квалификации разработчика, который зависит от стажа. Коэффициент К равен: для работающих до двух лет - 0,8; от трех до пяти - 1; от пяти до восьми - 1,2; более восьми лет - 1,5. Поскольку опыта у разработчика не достаточно, то коэффициент К мы берем равным 0,8.

К = 0,8 - коэффициент квалификации разработчика

ЗПосн = ЗП*С*(1+Р)*В*К

С учетом всех коэффициентов заработная плата в месяц составит: ЗПосн = 9000 * 0,7 * (1 + 0,3) * 1 * 0,8 = 6552 рублей/ месяц.

Дополнительная заработная плата высчитывается по формуле:

ЗПдоп = ЗПосн * К

К - размер премии в процентах. Премия работнику за это время не выплачивалась.

Общие затраты предприятия на заработную плату за период разработки ПО вычисляется по формуле:

ЗПсум = (ЗПосн + ЗПдоп)

Количество временных затрат на создание равно 160 часов.

Страховые отчисления берутся в размере 26% от ЗПсум. СО = 5956* 26% = 1548.6 рублей.

Суммарная затрата на оплату труда ЗПобщ = ЗПсум + СО = ((5956+1548.6)*160)/22*8=6822.4рублей.

Содержание и эксплуатация вычислительной техники.

Время, затраченное на отладку программы (2 + 3 + 4 этапы из таблицы 1) равно 150 ч. Необходимо посчитать стоимость одного машинного часа по формуле:

(стоимость электроэнергии + амортизация + затраты на ремонт)/Фвт

Фвт - действительный фонд времени работы вычислительного комплекса.

Стоимость электроэнергии - 4 рубля за кВт/ч., потребление энергии - 300 Вт/ч.

8ч. * 22дня * 12 мес. * 0,3 кВт/ч * 4 рубля = 2534,4 рубля стоимость за год.

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

Амортизация = общая сумма / количество лет.

Стоимость ПК составила 21000 рублей, а количество лет полезного использования - 4 года. Амортизация = 21000 / 4 = 5250 руб/год.

На ремонт уходит 5 % от стоимости ПК. В данном случае на ремонт будет уходить 21000 * 5 % = 1050 рублей.

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

Фвт = Фном - Фпроф

Фном - номинальный фонд времени работы вычислительного комплекса.

Фпроф - годовые затраты времени на профилактические работы (5% = 0,05).

Фвтномпроф= (8ч. * 22 дн. * 12 мес.) - (8ч.* 22 дн.* 12 мес.* 0,05)=2112-106=2006 ч.

Стоимость 1 машинного часа работы = (2534.4 + 5250+ 1050) / 2006 = 4.4 рубля.

Стоимость затрат всего равна 150 * 4.4 рубля = 660 рублей.

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

Смета затрат на разработку данного программного приложения приведена в таблице 2.

Таблица 2

Наименование статьи расходов

Затраты

1

Зарплата суммарная исполнителя

5956 руб.

2

Страховые отчисления

1548,6 руб.

3

Затраты на эксплуатацию ПК, используемого для написания программы

660 руб.

Итого:

8164,6руб.

Экономический эффект.

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

Т1 - время которое занимала одна операция.

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

Тестирование показало, что время выполнения операции после внедрения программного обеспечения стало занимать 5 минут вместо 8. Так как вся информация уже находится в базе и надо всего лишь открыть необходимую форму, которая выведет нам нужные данные; нет никакой необходимости отвлекать другого сотрудника от работы либо производить ручной поиск в архиве. Т2 = 5 мин. = 0.08 часа.

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

Т = Т1 - Т2 = 10 мин. - 5 мин. = 5 мин. = 0.08 часа.

Теперь рассчитаем стоимость работы сотрудника.

В месяц количество рабочих часов равно: 8 * 22 = 176.

Стоимость одного часа работы высчитывается по формуле:

Pч = ЗП / 176.

Заработная плата сотрудника составляет 12000 руб. / месяц. Тогда стоимость одного часа работы будет стоить 12000 / 176 = 68,2 руб.

Стоимость экономии фондовых отчислений рассчитывается по формуле:

Pсо = (ЗП * 0,26) / 176 = (12000 * 0,26) / 176 = 17,7 руб.

В итоге получается

Pсум = Pч + Pсо = 68,2 + 17,7 = 85,9 руб.

Годовая экономия времени рассчитывается по формуле: Тгод = Т * Q * кол-во рабочих дней в месяц * кол-во месяцев = 0.08 * 10 * 22 * 12 = 211.2 часа.

Годовая экономия составит

Тгод * Pсум = 211.2 * 85,9 = 18142 руб.

Вычтем затраты и определим экономический эффект:

18142-8164,6= 9977,4 руб. в год

Теперь посчитаем, за какое количество времени окупится приложение: Т = затраты / ЭФ = 9977,4 / 18142 = 0,5 года.

Таким образом, если магазин по продаже продукции Zepter захочет реализовать у себя данный программный продукт, то он окупится за 0,5 года.

Заключение

В дипломной работе на тему “Автоматизация товарного учета продукции Zepter” был автоматизирован процесс учета поступлений и продаж товаров в магазине. Написанное приложение полностью соответствует поставленной задаче.

Оценка экономической эффективности от внедрения приложения показала, что проект экономически выгоден, срок его окупаемости составит 6 месяцев.

В конечном итоге разработанный мною проект “Автоматизация товарного учета продукции Zepter” на «1С:Предприятие7.7». существенно упростит работу сотрудника и сократит его рабочее время.

Литература

· “1C:Предприятие 7.7 Описание встроенного языка” 77.001.03 14 октября 2011г.

· “1C:Предприятие 7.7 Введение в конфигурирование ” 2010г.

· Официальный сайт компании 1С “ www.1C.ru”.

· “1C:Предприятие 7.7 Руководство по установке и запуску” 77.003.04

· “1C:Бухгалтерия 7.7Руководство по ведению учета (Описание типовой конфигурации редакции 4.5)” 77.450.02 8 сентября 2012г.

· “1C:Предприятие 7.7Конфигурирование и администрирование. Часть1 77.002.03 17 октября 2009г.

Приложение

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

Форма элемента

1. Процедура ПриЗаписи()

2. если пустоезначение(наименование)=1 тогда

3. предупреждение("Введите наименование товара!");

4. статусвозврата(0);

5. конецесли;

6. если пустоезначение(цена)=1 тогда

7. предупреждение("Введите цену товара!");

8. статусвозврата(0);

9. конецесли;

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

Справочник. Поставщики

Форма элемента

1. Процедура ПриЗаписи()

2. если пустоезначение(наименование)=1 тогда

3. предупреждение("Введите поставщика!");

4. статусвозврата(0);

5. конецесли;

6. если пустоезначение(адрес)=1 тогда

7. предупреждение("Введите адрес!");

8. статусвозврата(0);

9. конецесли;

10. если пустоезначение(телефон)=1 тогда

11. предупреждение("Введите телефон!");

12. статусвозврата(0);

13. конецесли;

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

Справочник. Покупатели

Форма элемента

1. Процедура ПриЗаписи()

2. если пустоезначение(наименование)=1 тогда

3. предупреждение("Введите покупателя!");

4. статусвозврата(0);

5. конецесли;

6. если пустоезначение(телефон)=1 тогда

7. предупреждение("Введите телефон!");

8. статусвозврата(0);

9. конецесли;

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

Документ. Продажи

Форма элемента

1. Процедура Печ()

2. Таб = СоздатьОбъект("Таблица");

3. таб.ИсходнаяТаблица("Таблица");

4. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);

5. покк=Покупатель;

6. проо=Продавец;

7. квалл=Квалификация;

8. Таб.ВывестиСекцию("Шапка");

9. Выбратьстроки();

10. пока получитьстроку()=1 цикл;

11. _Ном = 0;

12. ном=НомерСтроки;

13. товв=Товар;

14. колл=Количество;

15. ценн=Цена;

16. сумм=сумма;

17. Таб.ВывестиСекцию("строка");

18. конеццикла;

19. итоо=Формат(Итог("сумма"), "Ч20.2-,");

20. Таб.ВывестиСекцию("подвал");

21. Таб.ТолькоПросмотр(1);

22. Таб.Показать("Продажа","");

23. Конецпроцедуры

Процедура Счет()

24. Перем Запрос, ТекстЗапроса;

25. если количество=0 тогда

26. количество=1;

27. конецесли;

28. Цена=Товар.Цена;

29. Квалификация=Продавец.Квалификация;

30. Сумма= Цена*Количество;

31. товв=товар;

32. _Ном = 0;

33. ном=НомерСтроки;

34. Выбратьстроки();

35. пока Получитьстроку()=1 цикл

36. если товар=товв тогда

37. Если _Ном > 0 Тогда

38. товар = "";

39. количество="";

40. предупреждение("ТАКОЙ ТОВАР УЖЕ ЕСТЬ,выберете другой товар или удалите строку!");

41. _Ном = НомерСтроки;

42. Прервать;

43. КонецЕсли;

44. _Ном = НомерСтроки;

45. Конецесли;

46. Стр = "";

47. конеццикла;

48. конецпроцедуры

Модуль документа

1. Процедура ОбработкаПроведения()

2. //проверка остатков

3. рег=создатьобъект("регистр.Поступлениетовара") ;

4. Если не(СравнитьТА() = 0 ) тогда

5. рег.временныйрасчет(1);

6. конецесли;

7. РассчитатьРегистрыНа(текущийдокумент());

8. Таб = создатьобъект("Таблицазначений") ;

9. рег.ВыгрузитьИтоги(Таб,0,1);

10. Выбратьстроки();

11. пока Получитьстроку()=1 цикл

12. Стр = "";

13. Если Таб.НайтиЗначение(Товар,стр,1) = 1 Тогда

14. таб.ПолучитьСтрокуПоНомеру(Стр);

15. Стр = "";

16. рег=регистр.Поступлениетовара;

17. рег.ПривязыватьСтроку(НомерСтроки);

18. рег.товар=товар;

19. рег.сумма=сумма;

20. кол=количество;

21. Запрос = СоздатьОбъект("Запрос") ;

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

23. "//{{ЗАПРОС(Сформировать)

24. |Тов = Регистр.Поступлениетовара.Товар;

25. |Кол = Регистр.Поступлениетовара.Количество;

26. |Функция КоличествоКонОст = КонОст(Кол);

27. |Условие(товар = тов);

28. |Группировка тов;

29. |";

30. Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

31. Возврат;

32. КонецЕсли;

33. Пока Запрос.Группировка(1) = 1 Цикл

34. зК = запрос.кол;

35. если зк<кол Тогда

36. Предупреждение("В таком количестве товара "+запрос.тов+" нет! " );

37. непроводитьдокумент();

38. возврат;

39. конецесли;

40. Если зк <= кол тогда

41. рег.количество = зк; иначе

42. рег.количество = КОЛ;

43. конецесли;

44. КОЛ = кол - зк;

45. рег.движениерасходвыполнить();

46. Если кол <= 0 тогда

47. Прервать;

48. КонецЕсли;

49. КонецЦикла; иначе

50. Предупреждение("Товара "+строка(Товар)+" нет на складе! ") ;

51. непроводитьдокумент();

52. возврат;

53. КонецЕсли;

54. конеццикла;

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

Документ. Переоценка

Форма элемента

1. Процедура перес()

2. Старая_цена=Товар.Цена;

3. товв=товар;

4. _Ном = 0;

5. ном=НомерСтроки;

6. Выбратьстроки();

7. пока Получитьстроку()=1 цикл

8. если товар=товв тогда

9. Если _Ном > 0 Тогда

10. товар = "";

11. количество="";

12. предупреждение("ТАКОЙ ТОВАР УЖЕ ЕСТЬ,выберете другой товар или удалите строку!");

13. _Ном = НомерСтроки;

14. Прервать;

15. КонецЕсли;

16. _Ном = НомерСтроки;

17. Конецесли;

18. Стр = "";

19. конеццикла;

20. конецпроцедуры

21. Процедура Печ()

22. Таб = СоздатьОбъект("Таблица");

23. таб.ИсходнаяТаблица("Таблица");

24. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);

25. Таб.ВывестиСекцию("Шапка");

26. Выбратьстроки();

27. пока получитьстроку()=1 цикл;

28. _Ном = 0;

29. ном=НомерСтроки;

30. товв=Товар;

31. старр=Старая_цена;

32. новв=Новая_цена;

33. провв=Провел_переоценку;

34. Таб.ВывестиСекцию("строка");

35. конеццикла;

36. провв=Провел_переоценку;

37. Таб.ВывестиСекцию("подвал");

38. Таб.ТолькоПросмотр(1);

39. Таб.Показать("Продажа","");

40. Конецпроцедуры

Модуль документа

1. Процедура ОбработкаПроведения()

2. рег=регистр.Переоценка;

3. спр=создатьобъект("справочник.Товары");

4. выбратьстроки();

5. пока получитьстроку()=1 цикл

6. спр.выбратьэлементы();

7. Спр.НайтиЭлемент(Товар);

8. Спр.Цена=Новая_цена;

9. Спр.Записать();

10. ПривязыватьСтроку(НомерСтроки);

11. Рег.Товар=Товар;

12. Рег.Новая_цена=Новая_цена;

13. Рег.Старая_цена=Старая_цена;

14. Рег.ДвижениеВыполнить();

15. конеццикла;

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

Документ. Заявка

Форма элемента

1. Процедура заяв()

2. Перем Запрос, ТекстЗапроса;

3. если количество=0 тогда

4. количество=1;

5. конецесли;

6. Телефон=Заказчик.Телефон;

7. Цена=Товар.Цена;

8. Сумма=Цена*Количество;

9. товв=товар;

10. _Ном = 0;

11. ном=НомерСтроки;

12. Выбратьстроки();

13. пока Получитьстроку()=1 цикл

14. если товар=товв тогда

15. Если _Ном > 0 Тогда

16. товар = "";

17. количество="";

18. предупреждение("ТАКОЙ ТОВАР УЖЕ ЕСТЬ,выберете другой товар или удалите строку!");

19. _Ном = НомерСтроки;

20. Прервать;

21. КонецЕсли;

22. _Ном = НомерСтроки;

23. Конецесли;

24. Стр = "";

25. конеццикла;

26. Конецпроцедуры

27. Процедура Печ()

28. Таб = СоздатьОбъект("Таблица");

29. таб.ИсходнаяТаблица("Таблица");

30. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);

31. телл=Телефон;

32. закк=Заказчик;

33. Таб.ВывестиСекцию("Шапка");

34. Выбратьстроки();

35. пока получитьстроку()=1 цикл;

36. _Ном = 0;

37. ном=НомерСтроки;

38. товв=Товар;

39. колл=Количество;

40. ценн=Цена;

41. сумм=сумма;

42. Таб.ВывестиСекцию("строка");

43. конеццикла;

44. итоо=Формат(Итог("сумма"), "Ч20.2-,");

45. закк=Заказчик;

46. прии=Принял_заказ;

47. Таб.ВывестиСекцию("подвал");

48. Таб.ТолькоПросмотр(1);

49. Таб.Показать("Продажа","");

50. Конецпроцедуры

Модуль документа

1. Процедура ОбработкаПроведения()

2. выбратьстроки();

3. пока получитьстроку()=0 цикл

4. если товар.выбран()=0 тогда

5. предупреждение("Не выбран товар!!!");

6. непроводитьдокумент();

7. возврат;

8. конецесли;

9. конеццикла;

10. если заказчик.выбран()=0 тогда

11. предупреждение("Выберетие заказчика!!!");

12. непроводитьдокумент();

13. возврат;

14. конецесли;

15. если Принял_заказ.выбран()=0 тогда

16. предупреждение("Выберетие продавец!!!");

17. непроводитьдокумент();

18. возврат;

19. конецесли;

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

Документ. Списание

Форма элемента

1. Процедура списс()

2. Перем Запрос, ТекстЗапроса;

3. если количество=0 тогда

4. количество=1;

5. конецесли;

6. Цена=Товар.Цена;

7. Сумма=Количество*Цена;

8. товв=товар;

9. _Ном = 0;

10. ном=НомерСтроки;

11. конецпроцедуры

12. Процедура Печ()

13. Таб = СоздатьОбъект("Таблица");

14. таб.ИсходнаяТаблица("Таблица");

15. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);

16. Таб.ВывестиСекцию("Шапка");

17. Выбратьстроки();

18. пока получитьстроку()=1 цикл;

19. _Ном = 0;

20. ном=НомерСтроки;

21. товв=Товар;

22. колл=Количество;

23. дефф=Дефект;

24. ценн=Цена;

25. сумм=сумма;

26. Таб.ВывестиСекцию("строка");

27. конеццикла;

28. ущщ=Формат(Итог("сумма"), "Ч20.2-,");

29. обнн=Обнаружил_деффект;

30. Таб.ВывестиСекцию("подвал");

31. Таб.ТолькоПросмотр(1);

32. Таб.Показать("Акт списания","");

33.Конецпроцедуры

Модуль документа

1. Процедура ОбработкаПроведения()

2. Если Пустоезначение(Товар) = 0 тогда

3. Предупреждение("Товар не выбран! " );

4. НепроводитьДокумент();

5. КонецЕсли;

6. Регистр.Списание.Привязыватьстроку(1);

7. Регистр.Списание.Обнаружил_деффект = Обнаружил_деффект;

8. Выбратьстроки();

9. Пока Получитьстроку() = 1 Цикл;

10. Регистр.Списание.Товар = Товар;

11. Регистр.Списание.Дефект = Дефект;

12. Регистр.Списание.Количество = Количество;

13. Регистр.Списание.Цена = Цена;

14. Регистр.Списание.Сумма = Сумма;

15. Регистр.Списание.ДвижениеРасходВыполнить();

16. КонецЦикла;

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

Форма элемента

1. Процедура счет()

2. Перем Запрос, ТекстЗапроса;

3. если количество=0 тогда

4. количество=1;

5. конецесли;

6. Цена=товар.цена;

7. Сумма=Количество*Цена;

8. Телефон=Поставщик.Телефон;

9. Адрес=Поставщик.Адрес;

10. Квалификация=Принял_товар.Квалификация;

11. товв=товар;

12. _Ном = 0;

13. ном=НомерСтроки;

14. Выбратьстроки();

15. пока Получитьстроку()=1 цикл

16. если товар=товв тогда

17. Если _Ном > 0 Тогда

18. товар = "";

19. количество="";

20. предупреждение("ТАКОЙ ТОВАР УЖЕ ЕСТЬ,выберете другой товар или удалите строку!");

21. _Ном = НомерСтроки;

22. Прервать;

23. КонецЕсли;

24. _Ном = НомерСтроки;

25. Конецесли;

26. Стр = "";

27. конеццикла;

28. Конецпроцедуры

29. Процедура Печ()

30. Таб = СоздатьОбъект("Таблица");

31. таб.ИсходнаяТаблица("Таблица");

32. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);

33. посс=Поставщик;

34. прии=Принял_товар;

35. телл=Телефон;

36. расс=Расчетный_счет;

37. адд=Адрес;

38. Таб.ВывестиСекцию("Шапка");

39. Выбратьстроки();

40. пока получитьстроку()=1 цикл;

41. _Ном = 0;

42. ном=НомерСтроки;

43. товв=Товар;

44. колл=Количество;

45. ценн=Цена;

46. сумм=сумма;

47. Таб.ВывестиСекцию("строка");

48. конеццикла;

49. итоо=Формат(Итог("сумма"), "Ч20.2-,");

50. Таб.ВывестиСекцию("подвал");

51. Таб.ТолькоПросмотр(1);

52. Таб.Показать("Продажа","");

53.Конецпроцедуры

Модуль документа

1. Процедура ОбработкаПроведения()

2. Регистр.Поступлениетовара.Привязыватьстроку(1);

3. Выбратьстроки();

4. Пока Получитьстроку() = 1 Цикл

5. Регистр.Поступлениетовара.Товар=Товар;

6. Регистр.Поступлениетовара.Количество=Количество;

7. Регистр.Поступлениетовара.Сумма=Сумма;

8. Регистр.Поступлениетовара.ДвижениеПриходВыполнить();

9. КонецЦикла;

10. конецпроцедуры

Отчет. Отчет продаж

Форма диалога

1. Процедура Сформировать()

2. если пустоезначение(начдата)=1 тогда

3. предупреждение("Выберете начальную дату формирования отчета!");

4. возврат;

5. конецесли;

6. если пустоезначение(кондата)=1 тогда

7. предупреждение ("Выберете конечную дату формирования отчета!");

8. возврат;

9. конецесли;

10. если(кондата)<(начдата) тогда

11. предупреждение ("Неправельный диапазон дат!");

12. возврат;

13. конецесли;

14. ДатаТА=ПолучитьДатуТА();

15. если кондата>ДатаТА тогда

16. предупреждение ("Конечная дата запроса больше даты актуальности итогов");

17. возврат;

18. конецесли;

19. запр=создатьобъект("Запрос");

20. текстзапроса="

21. |период с начдата по кондата;

22. |ОбрабатыватьДокументы Проведенные;

23. |док=документ.Продажа.текущийдокумент;

24. |Товар=документ.Продажа.Товар;

25. |код=документ.Продажа.номерстроки;

26. |количество=документ.Продажа.количество;

27. |цена=документ.Продажа.цена;

28. |сумма=документ.Продажа.сумма;

29. |функция кондата=коност(сумма);

30. |ФУНКЦИЯ колич=коност(количество);

31. |Группировка товар без групп;

32. |группировка код;

33. |группировка док;";

34. Если пустоезначение(Выбтов)=0 Тогда

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

36. |условие(Товар=выбтов);";

37. КонецЕсли;

38. запр.выполнить(Текстзапроса);

39. Если Запр.Выполнить(ТекстЗапроса) = 0 Тогда

40. Возврат;

41. КонецЕсли;

42. Таб = СоздатьОбъект("Таблица");

43. Таб.ИсходнаяТаблица("Таблица");

44. Таб.ВывестиСекцию("Шапка");

45. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);

46. Пока запр.группировка(1)=1 Цикл

47. Пока запр.группировка(2)=1 Цикл

48. кол=запр.колич;

49. тов=запр.товар;

50. цена=запр.цена;

51. сумм=запр.сумма;

52. Таб.ВывестиСекцию("Строка_1");

53. Пока запр.группировка(3)=1 Цикл

54. д=запр.док;

55. Таб.ВывестиСекцию("Строка_2");

56. КонецЦикла;

57. КонецЦикла;

58. КонецЦикла;

59. сумит= " "+запр.Кондата+": " ;

60. Таб.ВывестиСекцию("Итог");

61. Таб.ТолькоПросмотр(1);

62. Таб.Показать("Отчет по продажам","");

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

Отчет. Заказы

Форма диалога

1. Процедура Сформировать()

2. если пустоезначение(начдата)=1 тогда

3. предупреждение("Выберете начальную дату формирования отчета!");

4. возврат;

5. конецесли;

6. если пустоезначение(кондата)=1 тогда

7. предупреждение ("Выберете конечную дату формирования отчета!");

8. возврат;

9. конецесли;

10. если(кондата)<(начдата) тогда

11. предупреждение ("Неправельный диапазон дат!");

12. возврат;

13. конецесли;

14. ДатаТА=ПолучитьДатуТА();

15. если кондата>ДатаТА тогда

16. предупреждение ("Конечная дата запроса больше даты актуальности итогов");

17. возврат;

18. конецесли;

19. запр=создатьобъект("Запрос");

20. текстзапроса="

21. |период с начдата по кондата;

22. |ОбрабатыватьДокументы Проведенные;

23. |док=документ.Заявка.текущийдокумент;

24. |Товар=документ.Заявка.Товар;

25. |код=документ.Заявка.номерстроки;

26. |количество=документ.Заявка.количество;

27. |Покупатель=документ.Заявка.Заказчик;

28. |цена=документ.Заявка.цена;

29. |сумма=документ.Заявка.сумма;

30. |функция кондата=коност(сумма);

31. |ФУНКЦИЯ колич=коност(количество);

32. |Группировка товар без групп;

33. |группировка код;

34. |группировка док;";

35. Если пустоезначение(аа)=0 Тогда

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

37. |условие(покупатель=аа);";

38. КонецЕсли;

39. запр.выполнить(Текстзапроса);

40. Если Запр.Выполнить(ТекстЗапроса) = 0 Тогда

41. Возврат;

42. КонецЕсли;

43. Таб = СоздатьОбъект("Таблица");

44. Таб.ИсходнаяТаблица("Таблица");

45. Таб.ВывестиСекцию("Шапка");

46. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);

47. Пока запр.группировка(1)=1 Цикл

48. Пока запр.группировка(2)=1 Цикл

49. кол=запр.колич;

50. тов=запр.товар;

51. покк=запр.покупатель;

52. цена=запр.цена;

53. сумм=запр.сумма;

54. Таб.ВывестиСекцию("Строка_1");

55. Пока запр.группировка(3)=1 Цикл

56. д=запр.док;

57. Таб.ВывестиСекцию("Строка_2");

58. КонецЦикла;

59. КонецЦикла;

60. КонецЦикла;

61. сумит= " "+запр.Кондата+": " ;

62. Таб.ВывестиСекцию("Итог");

63. Таб.ТолькоПросмотр(1);

64. Таб.Показать("Отчет по продажам","");

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

Отчет. Списание

Форма диалога

1. Процедура Сформировать()

2. если пустоезначение(начдата)=1 тогда

3. предупреждение("Выберете начальную дату формирования отчета!");

4. возврат;

5. конецесли;

6. если пустоезначение(кондата)=1 тогда

7. предупреждение ("Выберете конечную дату формирования отчета!");

8. возврат;

9. конецесли;

10. если(кондата)<(начдата) тогда

11. предупреждение ("Неправельный диапазон дат!");

12. возврат;

13. конецесли;

14. ДатаТА=ПолучитьДатуТА();

15. если кондата>ДатаТА тогда

16. предупреждение ("Конечная дата запроса больше даты актуальности итогов");

17. возврат;

18. конецесли;

19. запр=создатьобъект("Запрос");

20. текстзапроса="

21. |период с начдата по кондата;

22. |ОбрабатыватьДокументы Проведенные;

23. |док=документ.Списание.текущийдокумент;

24. |Товар=документ.Списание.Товар;

25. |код=документ.Списание.номерстроки;

26. |количество=документ.Списание.количество;

27. |цена=документ.Списание.цена;

28. |сумма=документ.Списание.сумма;

29. |Дефект=документ.Списание.Дефект;

30. |функция кондата=коност(сумма);

31. |ФУНКЦИЯ колич=коност(количество);

32. |Группировка товар без групп;

33. |группировка код;

34. |группировка док;";

35. запр.выполнить(Текстзапроса);

36. Если Запр.Выполнить(ТекстЗапроса) = 0 Тогда

37. Возврат;

38. КонецЕсли;

39. Таб = СоздатьОбъект("Таблица");

40. Таб.ИсходнаяТаблица("Таблица");

41. Таб.ВывестиСекцию("Шапка");

42. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);

43. Пока запр.группировка(1)=1 Цикл

44. Пока запр.группировка(2)=1 Цикл

45. кол=запр.колич;

46. дефф=запр.дефект;

47. тов=запр.товар;

48. цена=запр.цена;

49. сумм=запр.сумма;

50. Таб.ВывестиСекцию("Строка_1");

51. Пока запр.группировка(3)=1 Цикл

52. д=запр.док;

53. Таб.ВывестиСекцию("Строка_2");

54. КонецЦикла;

55. КонецЦикла;

56. КонецЦикла;

57. сумит= " "+запр.Кондата+": " ;

58. Таб.ВывестиСекцию("Итог");

59. Таб.ТолькоПросмотр(1);

60. Таб.Показать("Отчет по списанию товара","");

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

Отчет. Поступление

Форма диалога

1. Процедура Сформировать()

2. если пустоезначение(начдата)=1 тогда

3. предупреждение("Выберете начальную дату формирования отчета!");

4. возврат;

5. конецесли;

6. если пустоезначение(кондата)=1 тогда

7. предупреждение ("Выберете конечную дату формирования отчета!");

8. возврат;

9. конецесли;

10. если(кондата)<(начдата) тогда

11. предупреждение ("Неправельный диапазон дат!");

12. возврат;

13. конецесли;

14. ДатаТА=ПолучитьДатуТА();

15. если кондата>ДатаТА тогда

16. предупреждение ("Конечная дата запроса больше даты актуальности итогов");

17. возврат;

18. конецесли;

19. запр=создатьобъект("Запрос");

20. текстзапроса="

21. |период с начдата по кондата;

22. |ОбрабатыватьДокументы Проведенные; |док=документ.Поступление_товара.текущийдокумент;

23. |Товар=документ.Поступление_товара.Товар;

24. |код=документ.Поступление_товара.номерстроки;

25. |количество=документ.Поступление_товара.количество;

26. |цена=документ.Поступление_товара.цена;

27. |сумма=документ.Поступление_товара.сумма;

28. |функция кондата=коност(сумма);

29. |ФУНКЦИЯ колич=коност(количество);

30. |Группировка товар без групп;

31. |группировка код;

32. |группировка док;";

33. Если пустоезначение(Выбтов)=0 Тогда

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

35. |условие(Товар=выбтов);";

36. КонецЕсли;

37. запр.выполнить(Текстзапроса);

38. Если Запр.Выполнить(ТекстЗапроса) = 0 Тогда

39. Возврат;

40. КонецЕсли;

41. Таб = СоздатьОбъект("Таблица");

42. Таб.ИсходнаяТаблица("Таблица");

43. Таб.ВывестиСекцию("Шапка");

44. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);

45. Пока запр.группировка(1)=1 Цикл

46. Пока запр.группировка(2)=1 Цикл

47. кол=запр.колич;

48. тов=запр.товар;

49. цена=запр.цена;

50. сумм=запр.сумма;

51. Таб.ВывестиСекцию("Строка_1");

52. Пока запр.группировка(3)=1 Цикл

53. д=запр.док;

54. Таб.ВывестиСекцию("Строка_2");

55. КонецЦикла;

56. КонецЦикла;

57. КонецЦикла;

58. сумит= " "+запр.Кондата+": " ;

59. Таб.ВывестиСекцию("Итог");

60. Таб.ТолькоПросмотр(1);

61. Таб.Показать("Отчет по продажам","");

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

Отчет. Остаток товара

Форма диалога

1. Процедура Сформировать()

2. если пустоезначение(начдата)=1 тогда

3. предупреждение("Выберете начальную дату формирования отчета!");

4. возврат;

5. конецесли;

6. если пустоезначение(кондата)=1 тогда

7. предупреждение("Выберете конечную дату формирования отчета!");

8. возврат;

9. конецесли;

10. если(кондата)<(начдата) тогда

11. предупреждение("Неправельный диапазон дат!");

12. возврат;

13. конецесли;

14. ДатаТА=ПолучитьДатуТА();

15. если кондата>ДатаТА тогда

16. предупреждение("Конечная дата запроса больше даты актуальности итогов");

17. возврат;

18. конецесли;

19. запр=создатьобъект("запрос");

20. текстзапроса="

21. |период с начдата по кондата;

22. |товар=регистр.Поступлениетовара.товар;

23. |количество=регистр.Поступлениетовара.количество;

24. |функция коностк=коност(количество);

25. |группировка количество без групп;

26. |группировка товар без групп ;

27. |";

28. Если ПустоеЗначение(Выбтовар) = 0 Тогда

29. ТекстЗапроса = ТекстЗапроса + "Условие(товар = Выбтовар);

30. |";

31. КонецЕсли;

32. Если пустоезначение(Выбтов)=0 Тогда

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

34. |условие(Товар=выбтов);";

35. КонецЕсли;

36. запр.выполнить(текстзапроса) ;

37. Таб = СоздатьОбъект("Таблица");

38. Таб.ИсходнаяТаблица("Таблица");

39. Таб.ВывестиСекцию("Шапка");

40. Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);

41. Пока запр.группировка(1)=1 Цикл

42. Пока запр.группировка(2)=1 Цикл

43. товв=запр.товар;

44. колл= запр.коностк;

45. Таб.ВывестиСекцию("Строка");

46. КонецЦикла;

47. КонецЦикла;

48. Таб.ВывестиСекцию("Подвал");

49. Таб.ТолькоПросмотр(1);

50. Таб.Показать("Остатки товара","");

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

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.