Проведение документа «РасходнаяНакладная»

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

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

Откроем в конфигураторе окно редактирования объекта конфигурации Документ «РасходнаяНакладная», перейдем на закладку «Данные» и создадим новый реквизит табличной части документа с именем «Себестоимость», типом Число ( 15,2). После этого откроем форму «ФормаДокумента» документа «РасходнаяНакладная» и добавим в табличное поле колонку, отображающую новый реквизит «Себестоимость», расположив ее после колонки «Номенклатура» и запретив ее редактирование, поставив флажок «ТолькоПросмотр».

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

Для этого в общий модуль «РаботаСоСправочниками» добавим функцию «Себестоимость»:

Рис. 142 Функция вычисления себестоимости номенклатуры

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

Рис. 143 Обработчик изменения номенклатуры

Теперь создадим движения документа «РасходнаяНакладная» таким же образом, как мы делали это для документа «ПриходнаяНакладная». Откроем в конфигураторе окно редактирования объекта конфигурации Документ «РасходнаяНакладная» и укажем, что он будет создавать движения по регистру накопления «ОстаткиНоменклатуры».

Запустим конструктор движений документа, и добавим в список регистров регистр «ОстаткиНоменклатуры». Опишем движения документа следующим образом (обратите внимание, что стоимость вычисляется как произведение себестоимости и количества, указанных в табличной части):

Рис. 144 Конструктор движений документа «РасходнаяНакладная»

Рис. 145 Процедура «ОбработкаПроведения» документа «РасходнаяНакладная»

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

Рис. 146 Исправленная процедура обработки проведения

Комментарий к тексту процедуры:

· //1 Создаем переменную, дающую доступ к объекту «РегистрНакопленияМенеджер. ОстаткиНоменклатуры».

· //2 Готовим структуру, содержащую фильтр по нужному товару.

· //3 Получаем в таблицу значений остатки нужного товара, актуальные на дату документа.

· //4 Организуем проверку допустимости текущей строки табличной части, при невыполнении условия документ не проводится.

Аналогичным образом надо настроить проведение документа «ОказаниеУслуги» по регистру «ОстаткиНоменклатуры».


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: