Учет продукции на складе средствами программы 1С:Предприятие на примере ООО "Альтаир"

дипломная работа

2. написание программного кода отчета.

2.4 Построение интерфейса диалога

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

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

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

Кроме того необходимо создать кнопку, которая будет отображать и позволять изменить выбранный период. В свойствах кнопки необходимо ввести «заголовок», т.е. название кнопки, формулу - ВвестиПериод(ВыбНачПериода,ВыбКонПериода), которая будет отвечать за работу кнопки.

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

Помимо этого, основная фильтрация данных будет осуществляться по двум таблицам «СписокКонтрагентов» и «СписокНоменклатуры».Они позволяют проводить отбор информации сразу по нескольким критериям, например, указав какого - либо поставщика и товар или товары, таким образом , отчет уже будет представлять собой таблицу, т.е. отбор нужной информации будет осуществляться по двум или более условиям. В свойствах этим таблицам необходимо присвоить одноименные идентификаторы. Кроме того, для удобства обращения создадим по четыре кнопки к каждой таблице: «добавить» - добавить контрагента либо элемент из списка номенклатуры, «добавить» - добавить контрагентов либо несколько элементов из списка номенклатуры, «удалить» - удалить строку с выбранным контрагентом либо элементом из списка номенклатуры, «удалить все» - полностью очистить все строки таблиц контрагенты либо номенклатура. Чтобы эти кнопки работали необходимо прописать формулы в их свойствах:

1. Добавить - «ДобавитьКонтрагента(0)» ;

2. Добавить - «ДобавитьКонтрагента(1)»;

3. Удалить - «СписокКонтрагентов.УдалитьСтроку()»;

4. Удалить - «СписокКонтрагентов.УдалитьСтроки()»;

5. Добавить - «ДобавитьНоменклатуру(0)» ;

6. Добавить - «ДобавитьНоменклатуру(1)»;

7. Удалить - «СписокНоменклатуры.УдалитьСтроку()»;

8. Удалить - «СписокНоменклатуры.УдалитьСтроки()»;

Все внешний вид формы готов.

Делись добром ;)