Подскажите, делаю загрузку по правилам из УТ в БП. Условие - необходимо выбирать и проставлять счета доходов и расходов по товару/услуге из последних установленых в документах по этим номенклатурам.
Уже битый час ломаю голову. Что сделано:
В ПКО, событие при загрузке/после загрузки и т.д. добавил код для тестов
// Заполним счета для номенклатуры
Если ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
Если Объект.Товары.Количество() > 0 Тогда
ИмяТЧ = "Товары";
ИначеЕсли Объект.Услуги.Количество() > 0 Тогда
ИмяТч = "Услуги";
Иначе
ИмяТЧ = Неопределено;
КонецЕсли;
Объект.Записать();
Если НЕ ИмяТЧ = Неопределено Тогда
Сообщить(ТипЗнч(Объект));
Сообщить("ааа");
//тзСчетаНоменклатуры.ЗагрузитьКолонку(Объект[ИмяТЧ].ВыгрузитьКолонку("Номенклатура"), "Номенклатура");
Для Каждого Стр ИЗ Объект[ИмяТЧ] Цикл
//Сообщить("двадвдавда");
Сообщить(Стр.Номенклатура);
Сообщить(ТипЗнч(Стр.Номенклатура));
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслугТовары.Номенклатура,
| РеализацияТоваровУслугТовары.СчетУчета,
| РеализацияТоваровУслугТовары.СчетДоходов,
| РеализацияТоваровУслугТовары.СчетРасходов,
| РеализацияТоваровУслугТовары.Ссылка.Дата
|ПОМЕСТИТЬ ДокТЧ
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|ГДЕ
| РеализацияТоваровУслугТовары.Номенклатура В (&Номенклатура)
| И РеализацияТоваровУслугТовары.Ссылка.Проведен
| И НЕ РеализацияТоваровУслугТовары.Ссылка.ПометкаУдаления
|
|СГРУППИРОВАТЬ ПО
| РеализацияТоваровУслугТовары.Ссылка.Дата,
| РеализацияТоваровУслугТовары.СчетРасходов,
| РеализацияТоваровУслугТовары.СчетДоходов,
| РеализацияТоваровУслугТовары.СчетУчета,
| РеализацияТоваровУслугТовары.Номенклатура
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РеализацияТоваровУслугУслуги.Номенклатура,
| """",
| РеализацияТоваровУслугУслуги.СчетДоходов,
| РеализацияТоваровУслугУслуги.СчетРасходов,
| РеализацияТоваровУслугУслуги.Ссылка.Дата
|ИЗ
| Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
|ГДЕ
| РеализацияТоваровУслугУслуги.Номенклатура В (&Номенклатура)
| И РеализацияТоваровУслугУслуги.Ссылка.Проведен
| И НЕ РеализацияТоваровУслугУслуги.Ссылка.ПометкаУдаления
|
|СГРУППИРОВАТЬ ПО
| РеализацияТоваровУслугУслуги.Ссылка.Дата,
| РеализацияТоваровУслугУслуги.СчетРасходов,
| РеализацияТоваровУслугУслуги.СчетДоходов,
| РеализацияТоваровУслугУслуги.Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ ПЕРВЫЕ 1
| ДокТЧ.Номенклатура,
| ДокТЧ.СчетУчета,
| ДокТЧ.СчетДоходов,
| ДокТЧ.СчетРасходов,
| ДокТЧ.Дата КАК Дата
|ИЗ
| ДокТЧ КАК ДокТЧ
|
|УПОРЯДОЧИТЬ ПО
| Дата УБЫВ";
//Запрос.УстановитьПараметр("Номенклатура",тзСчетаНоменклатуры.ВыгрузитьКолонку("Номенклатура"));
Запрос.УстановитьПараметр("Номенклатура", Стр.Номенклатура);
Результат = Запрос.Выполнить();
// Выборка = Результат.Выбрать();
Сообщить("" + Результат.Выгрузить().Количество());
// Пока Выборка.Следующий() Цикл
Выборка = Результат.Выгрузить();
Сообщить(Выборка[0].СчетРасходов);
Сообщить("" + Выборка[0].СчетДоходов);
Стр.СчетДоходов = Выборка[0].СчетДоходов;
Сообщить(ТипЗнч(Стр.СчетДоходов));
// КонецЦикла;
Объект.Записать();
КонецЦикла;
КонецЕсли;
КонецЕсли;
Показать
По сообщалкам вижу что Стр.СчетДохов присваивается нужный мне счет, с типом "счет бухгалтерского учета", но при открытие документа счета пустые... порядок выгрузки в правилах менял...