|
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. Про "дебильность" кода в ПКО_ЗначениеЗатратыПоВнеоборотнымАктивам_ПКС_Родитель_ПередВыгрузкой знаю сам ))))))
|
|