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