Добавление еще одного регистра накопления
Добавление еще одного регистра накопления В режиме «Конфигуратор» Занятие 11 Регистр СтоимостьМатериалов совсем не сложен, поэтому мы не будем подробно останавливаться на его создании. Создадим новый объект конфигурации Регистр накопления с именем СтоимостьМатериалов. Расширенное представление списка зададим как Движения по регистру Стоимость материалов. Этот заголовок будет отображаться в окне списка записей регистра. На закладке Подсистемы отметим, что этот регистр будет отобра- жаться в подсистемах Бухгалтерия, Учет материалов и Оказание услуг. На закладке Данные создадим для регистра одно измерение – Материал типа СправочникСсылка. Номенклатура и один ресурс – Стоимость типа Число длиной 15 и точностью 2. После создания регистр СтоимостьМа- териалов должен выглядеть в дереве конфигурации следующим образом (рис. 11. 1).
Рис. 11. 1. Регистр накопления «Стоимость материалов»
Теперь отредактируем командный интерфейс, чтобы в разделах Бухгалтерия, Оказание услуг и Учет материалов была доступна команда для просмотра нашего регистра накопления. В дереве объектов конфигурации выделим ветвь Подсистемы, вызовем ее контекстное меню и выберем пункт Все подсистемы. В открывшемся окне слева в списке Подсистемы выделим подсистему Бухгалтерия. Справа в списке Командный интерфейс отразятся все команды выбранной подсистемы. В группе Панель навигации. Обычное включим видимость у команды Стоимость материалов и мышью перетащим ее в группу Панель навигации. См. также (рис. 11. 2).
Аналогично, выделив подсистемы ОказаниеУслуг и УчетМатериалов, в группе Панель навигации. Обычное включим видимость у команды Стоимость материалов и перенесем ее в группу Панель навигации. См. также.
Теперь мы можем приступить к внесению изменений в процедуры проведения наших документов. Начнем с самого простого – документа Приходная накладная.
Проведение приходной накладной по двум регистрам В режиме «Конфигуратор» Изменение процедуры проведения Занятие 11 Откроем в конфигураторе окно редактирования объекта конфигурации Документ ПриходнаяНакладная и перейдем на закладку Движения. В списке регистров отметим, что документ будет создавать теперь движения и по регистру СтоимостьМатериалов (рис. 11. 3).
Рис. 11. 3. Создание движений документа «ПриходнаяНакладная» в регистре «Стоимость материалов»
Нажмем кнопку Конструктор движений. На вопрос системы о замещении процедуры проведения документа на новую, сфор- мированную конструктором, ответим утвердительно. Мы ничего не потеряем, так как конструктор в обработке проведения сфор- мирует движения уже по двум регистрам, а в прежнюю процедуру проведения мы никаких изменений не вносили. В открывшемся окне конструктора движений мы увидим, что для регистра ОстаткиМатериалов все поля конструктора уже содержат информацию, которую мы задавали ранее при формировании движений для этого регистра (см. раздел «Движения документа» на стр. 214). Над списком Регистры нажмем кнопку Добавить и добавим еще один регистр СтоимостьМатериалов (рис. 11. 4).
Тип движения регистра СтоимостьМатериалов по умолчанию будет уста- новлен как Приход (пиктограмма со знаком + слева от имени регистра). В поле выбора Табличная часть выберем табличную часть нашего документа – Материалы. Список реквизитов документа, который уже заполнен реквизитами шапки документа, автоматически дополнится реквизитами нашей табличной части.
Теперь нажмем кнопку Заполнить выражения. В нижнем окне сфор- мируется соответствие полей (измерений и ресурсов) регистра и выражений для их расчета. Чтобы задать нужное соответствие для поля регистра Стоимость, нужно его выделить и в окне Реквизиты документа дважды щелкнуть по строке ТекСтрокаМатериалы. Сумма (рис. 11. 5). Нажмем ОК. После этого откроется модуль объекта документа Приходная накладная. Откроем процедуру обработчика события ОбработкаПроведения.
Мы увидим, что конструктор сформировал новый текст обработчика, содержащий движения по двум регистрам (листинг 11. 1). листинг 11. 1. Движения документа «ПриходнаяНакладная» Мы видим, что фрагмент, добавленный конструктором в процедуру обработки проведения документа для регистра СтоимостьМатериалов, аналогичен фрагменту для формирования движений по регистру ОстаткиМатериалов. Однако сразу бросается в глаза, что совершенно не нужно обходить два одинаковых цикла по элементам табличной части Материалы. Можно в одном цикле формировать движения сразу по двум регистрам. Выполним эту небольшую оптимизацию. И еще удалим коммен- тарии, внесенные конструктором. В результате процедура ОбработкаПроведения будет выглядеть следующим образом (листинг 11. 2). листинг 11. 2. Движения документа «ПриходнаяНакладная» Процедура ОбработкаПроведения(Отказ, Режим) Движения. ОстаткиМатериалов. Записывать = Истина; Движения. СтоимостьМатериалов. Записывать = Истина; Для Каждого ТекСтрокаМатериалы Из Материалы Цикл // Регистр ОстаткиМатериалов Приход Движение = Движения. ОстаткиМатериалов. Добавить(); Движение. ВидДвижения = ВидДвиженияНакопления. Приход; Движение. Период = Дата; Движение. Материал = ТекСтрокаМатериалы. Материал; Движение. Склад = Склад; Движение. Количество = ТекСтрокаМатериалы. Количество; // Регистр Стоимость Материалов Приход Движение = Движения. СтоимостьМатериалов. Добавить(); Движение. ВидДвижения = ВидДвиженияНакопления. Приход; Движение. Период = Дата; Движение. Материал = ТекСтрокаМатериалы. Материал; Движение. Стоимость = ТекСтрокаМатериалы. Сумма; КонецЦикла; КонецПроцедуры
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|