Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1C_ПрикладноеПрограммирование8.doc
Скачиваний:
41
Добавлен:
22.09.2019
Размер:
51.67 Mб
Скачать

2.4.1.4 Регистр сведений «Цены поставщиков»

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

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

Создадим регистр сведений «ЦеныПоставщиков». Регистр сведений периодический (по позиции регистратора), режим записи «Подчинение регистратору».

Рис. 111 Создание регистра сведений «ЦеныПоставщиков»

У него два измерения «Поставщик» типа «СправочникСсылка.Контрагенты», «Номенклатура» типа «СправочникСсылка.Номенклатура» и один ресурс «Цена» типа «Число(15,2)».

Рис. 112 Заданий измерений и ресурсов регистра

Настройте форму списка и форму набора записей.

Так как запись ведется регистратором (по смыслу документом «ПриходнаяНакладная»), необходимо модифицировать данный документ, а именно: разрешить проведение и указать, что документ является регистратором по регистру «ЦеныПоставщиков».

Рис. 113 Задание регистраторов регистра

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

Рис. 114 Вызов конструктора движений

Рис. 115 Работа конструктора движений

Рис. 116 Процедура обработки проведения

Проверьте работоспособность созданного вами механизма. Для этого в пользовательском режиме перезапишите несколько документов «ПриходнаяНакладная». Движения документа (записи в регистр) можно посмотреть, воспользовавшись кнопкой командной панели «Перейти».

2.4.1.5 Регистр сведений «Цены номенклатуры»

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

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

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

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

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

Откроем конфигуратор и создадим новый объект конфигурации Регистр сведений. Назовем его «ЦеныНоменклатуры». Установим периодичность этого регистра в пределах секунды.

Рис. 117 Создание регистра сведений «ЦеныНоменклатуры»

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

После этого создадим новый ресурс «Цена», тип Число, длина 15, точность 2, неотрицательное.

Рис. 118 Задание измерений и ресурсов регистра

Теперь запустим 1С:Предприятие в режиме отладки и посмотрим, как работает наш периодический регистр сведений ЦеныНоменклатуры.

После этого зададим розничные цены на материалы:

Рис. 119 Задание значений периодического регистра сведений

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

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

Теперь посмотрим, как можно использовать заданные нами цены в Документе «ОказаниеУслуги».