|
v7: Конвертация данных в пятницу (основано на реальных событиях) | ☑ | ||
---|---|---|---|---|
0
beaver1971
24.07.15
✎
11:42
|
ПКО_ОбъектыВнеоборотныхАктивов выгружает справочник ОбъектыВнеоборотныхАктивов в отдельную группу справочника Номенклатура.
ПКС_НоменклатурнаяГруппаЗатрат_ПередВыгрузкой Затраты = СоздатьОбъект("ТаблицаЗначений"); Затраты.НоваяКолонка("Наименование",,,,,); Затраты.НоваяКолонка("Родитель",,,,,); Затраты.НоваяКолонка("Правило",,,,,); // добавлено для наглядности Затраты.НоваяСтрока(); Если ПустоеЗначение(Источник.Родитель) = 0 Тогда Затраты.Наименование = Строка(Источник.Родитель); Иначе Затраты.Наименование = "Прочие объекты"; КонецЕсли; Затраты.Родитель = Источник.Родитель; Затраты.Правило = "ЗначениеЗатратыПоВнеоборотнымАктивам"; ВыгрузитьПоПравилу(Затраты,,,,"ЗначениеЗатратыПоВнеоборотнымАктивам"); Значение = Приемник; ПКС_ВидыНоменклатурыЗначения_ПередВыгрузкой ИсходящиеДанные = СоздатьОбъект("СписокЗначений"); Если ПустоеЗначение(Источник.Родитель) = 0 Тогда ЗначениеНаименования = Строка(Источник.Родитель); Иначе ЗначениеНаименования = "По дополнительному договору"; КонецЕсли; Если ЗначениеНаименования = "Продуктивный скот" Тогда Значениенаименования = "Что ему надо " + ЗначениеНаименования; КонецЕсли; ИсходящиеДанные.ДобавитьЗначение(ЗначениеНаименования, "Наименование"); ИсходящиеДанные.ДобавитьЗначение(0, "ЭтоГруппа"); ИсходящиеДанные.ДобавитьЗначение(Строка(Перечисление.ВидыСельскохозяйственнойПродукции.НеСельхоз), "Родитель"); ИсходящиеДанные.ДобавитьЗначение(Перечисление.ТипыНоменклатуры.Товар, "ТипНоменклатуры"); ИсходящиеДанные.ДобавитьЗначение("ВидыВнеоборотныхЗначения", "Правило"); // Добавлено для наглядности ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"ВидыВнеоборотныхЗначения"); Значение = Приемник; ПКО_ВидыВнеоборотныхЗначения - простое правило, принимающее внешние параметры и заполняющее справочник ВидыНоменклатуры. Какого либо кода в нем нет. ПКО_ЗначениеЗатратыПоВнеоборотнымАктивам ПКС_Родитель_ПередВыгрузкой ЕстьОшибка = 0; Попытка Если ПустоеЗначение(Источник.Родитель) <> 0 Тогда Значение = "Затраты на объекты внеоборотных активов"; ИмяПКО = "ГруппаЗатратПоВнеоборотнымАктивам"; КонецЕсли; Исключение ЕстьОшибка = 1; Для х = 1 По ВходящиеДанные.РазмерСписка() Цикл ИмяЗначения = ""; ДляЗначения = ВходящиеДанные.ПолучитьЗначение(х, ИмяЗначения); Сообщить("Фигня: " + ИмяЗначения + "=" + ДляЗначения + ";"); // для наглядности Если ИмяЗначения = "Родитель" Тогда Значение = ДляЗначения; КонецЕсли; КонецЦикла; КонецПопытки; // Генерируем ошибку // для наглядности Если ЕстьОшибка = 1 Тогда Сообщить(Источник.Родитель); КонецЕсли; Как поётся в песне: "Жмем на кнопку, получаем результат" Начало выгрузки: 24.07.15 14:10:55 Фигня: Наименование=Что ему надо Продуктивный скот; Фигня: ЭтоГруппа=0; Фигня: Родитель=Не является объектом с/х продукции; Фигня: ТипНоменклатуры=Товар; Фигня: Правило=ВидыВнеоборотныхЗначения; Ошибка исполнения обработчика: ПКС_ПередВыгрузкой_ЗначениеЗатратыПоВнеоборотнымАктивам_Родитель_Свойство4 - Поле агрегатного объекта не обнаружено (Родитель) Выгружено объектов: 40184 Окончание выгрузки: 24.07.15 14:16:35 Кто пытается ВыгрузитьПоПравилу ЗначениеЗатратыПоВнеоборотнымАктивам вместо ВидыВнеоборотныхЗначения? Про "Продуктивный скот" известно, что это группа справочника ОбъектыВнеоборотныхАктивов с наименьшим в справочнике кодом. PS. Про "дебильность" кода в ПКО_ЗначениеЗатратыПоВнеоборотнымАктивам_ПКС_Родитель_ПередВыгрузкой знаю сам )))))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |