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

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,96 Мб
  • Опубликовано:
    2015-07-14
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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















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

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

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

Содержание

Введение

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

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

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

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

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

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

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

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

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

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

.2 Программирование

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

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

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

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

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

Заключение

Литература

Приложение

 

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

Клавиатуры;

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

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


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

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

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

 

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

 

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

 

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

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

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

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

Индефикатор

Синонимы

Тип значения

Ред-ние

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

Код

-

Число

В диалоге

Да

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

Товар

Строка


Да

Цена

Цена

Число


Да


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

Индефикатор

Синонимы

Тип значения

Ред-ние

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

Код

-

Число

В списке

Да

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

Сотрудник

Строка


Да

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

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

Строка


Да


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

Индефикатор

Синонимы

Тип значения

Ред-ние

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

Код

-

Число

В диалоге

Да

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

Поставщик

Строка


Да

ИНН

ИНН

Число


Да

Адрес

Адрес

Строка


Да

Телефон

Телефон

Число


Да


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

Индефикатор

Синоним

Тип значения

Ред-ние

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

 Код

-

Число

В диалоге

Да

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

Покупатель

Строка


Да

Телефон

Телефон

Число


Да

 

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

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


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


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


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


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

 

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

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


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


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


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


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


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


.2 Программирование

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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 Вт/ч.

ч. * 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

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

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.

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

ч = ЗП / 176.

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

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

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

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

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

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

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

Тгод * Pсум = 211.2 * 85,9 = 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 тогда

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

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

.        конецесли;

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

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

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

.        конецесли;

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

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

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

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

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

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

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

.        конецесли;

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

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

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

.        конецесли;

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

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

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

.        конецесли;

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

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

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

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

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

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

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

.        конецесли;

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

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

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

.        конецесли;

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

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

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

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

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

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

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

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

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

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

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

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

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

.        _Ном = 0;

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

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

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

.        ценн=Цена;

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

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

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

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

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

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

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

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

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

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

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

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

.        конецесли;

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

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

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

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

.        _Ном = 0;

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

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

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

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

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

.        товар = "";

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

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

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

.        Прервать;

.        КонецЕсли;

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

.        Конецесли;

.        Стр = "";

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

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

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

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

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

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

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

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

.        конецесли;

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

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

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

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

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

.        Стр = "";

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

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

.        Стр = "";

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

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

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

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

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

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

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

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

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

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

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

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

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

.        |";

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

.        Возврат;

.        КонецЕсли;

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

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

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

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

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

.        возврат;

.        конецесли;

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

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

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

.        конецесли;

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

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

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

.        Прервать;

.        КонецЕсли;

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

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

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

.        возврат;

.        КонецЕсли;

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

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

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

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

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

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

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

.        _Ном = 0;

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

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

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

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

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

.        товар = "";

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

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

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

.        Прервать;

.        КонецЕсли;

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

.        Конецесли;

.        Стр = "";

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

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

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

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

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

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

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

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

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

.        _Ном = 0;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.        конецесли;

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

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

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

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

.        _Ном = 0;

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

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

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

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

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

.        товар = "";

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

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

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

.        Прервать;

.        КонецЕсли;

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

.        Конецесли;

.        Стр = "";

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

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

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

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

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

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

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

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

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

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

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

.        _Ном = 0;

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

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

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

.        ценн=Цена;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.        возврат;

.        конецесли;

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

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

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

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

.        возврат;

.        конецесли;

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

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

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

.        возврат;

.        конецесли;

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

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

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

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

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

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

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

.        конецесли;

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

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

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

.        _Ном = 0;

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

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

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

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

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

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

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

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

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

.        _Ном = 0;

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

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

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

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

.        ценн=Цена;

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

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

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

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

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

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

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

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

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

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

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

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

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

.        КонецЕсли;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.        конецесли;

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

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

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

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

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

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

.        _Ном = 0;

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

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

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

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

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

.        товар = "";

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

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

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

.        Прервать;

.        КонецЕсли;

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

.        Конецесли;

.        Стр = "";

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

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

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

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

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

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

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

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

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

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

.        адд=Адрес;

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

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

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

.        _Ном = 0;

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

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

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

.        ценн=Цена;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.        возврат;

.        конецесли;

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

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

.        возврат;

.        конецесли;

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

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

.        возврат;

.        конецесли;

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

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

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

.        возврат;

.        конецесли;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.        КонецЕсли;

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

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

.        Возврат;

.        КонецЕсли;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.        возврат;

.        конецесли;

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

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

.        возврат;

.        конецесли;

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

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

.        возврат;

.        конецесли;

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

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

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

.        возврат;

.        конецесли;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.        КонецЕсли;

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

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

.        Возврат;

.        КонецЕсли;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.        возврат;

.        конецесли;

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

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

.        возврат;

.        конецесли;

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

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

.        возврат;

.        конецесли;

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

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

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

.        возврат;

.        конецесли;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.        Возврат;

.        КонецЕсли;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.        Таб.Показать("Отчет по списанию товара","");

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

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

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

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

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

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

.        возврат;

.        конецесли;

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

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

.        возврат;

.        конецесли;

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

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

.        возврат;

.        конецесли;

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

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

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

.        возврат;

.        конецесли;

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

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

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

.        |ОбрабатыватьДокументы Проведенные; |док=документ.Поступление_товара.текущийдокумент;

.        |Товар=документ.Поступление_товара.Товар;

.        |код=документ.Поступление_товара.номерстроки;

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

.        |цена=документ.Поступление_товара.цена;

.        |сумма=документ.Поступление_товара.сумма;

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

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

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

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

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

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

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

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

.        КонецЕсли;

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

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

.        Возврат;

.        КонецЕсли;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Отчет. Остаток товара

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

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

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

.        возврат;

.        конецесли;

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

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

.        возврат;

.        конецесли;

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

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

.        возврат;

.        конецесли;

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

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

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

.        возврат;

.        конецесли;

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

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

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

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

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

.        |функция коностк=коност(количество);

.        |группировка количество без групп;

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

.        |";

.        Если ПустоеЗначение(Выбтовар) = 0 Тогда

.        ТекстЗапроса = ТекстЗапроса + "Условие(товар = Выбтовар);

.        |";

.        КонецЕсли;

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

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

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

.        КонецЕсли;

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

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

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

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

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

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

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

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

.        колл= запр.коностк;

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

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

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

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

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

.        Таб.Показать("Остатки товара","");

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

Похожие работы на - Автоматизация товарного учета продукции Zepter

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!