0
Бархат
24.08.17
✎
19:26
|
Всем привет.
подскажите, пожалуйста. пробую конвертить 7.7 дописанную в 8.3 тож дописанную. Собираю реквизит составной. Он платёжка,списание,расходник.
Перед выгрузкой нужного документа пишу:
ВходящиеДанные = СоздатьОбъект("СписокЗначений");
Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьКорСубконто(ВидыСубконто.Договоры, Источник.Договор, 2);
Ит.ВыполнитьЗапрос( Источник.Договор.ДатаВозникновенияОбязательства, Дата('22.08.2017'), "50.1,51", ,3 , 3,"Операция" );
Ит.ВыбратьКорСубконто();
Пока Ит.ПолучитьКорСубконто() = 1 Цикл
Если ПустоеЗначение(Ит.КорСчет )= 0 Тогда
Док = Ит.Операция.Документ;
Если ТипЗначения(Док) = 12 тогда
Если Док.Вид() = "РасходныйОрдер" Тогда
Если Док.Операция.Кредит.Счет.Код = "50.1" Тогда
//НЕ РАБОТАЕТ
ВходящиеДанные.Установить("ДокументОснованиеВыдачиЗайма",Док );
КонецЕсли;
ИначеЕсли Док.Вид() = "Выписка" Тогда
Док.ВыбратьСтроки();
Пока док.получитьСтроку()=1 ЦИкл
Если док.Субконто1 = Источник.Контрагент тогда
//РАБОТАЕТ
ВходящиеДанные.Установить("ДокументОснованиеВыдачиЗайма",Док.ПервичныйДокумент );
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
а при выгрузке своего составного реквизита пишу:
Если (Значение.Вид()="Выписка") или (Значение.Вид()="ПлатежноеПоручение") Тогда
ИмяПКО = "ПлатежноеПоручение";
ИначеЕсли Значение.Вид()="РасходныйОрдер" Тогда
ИмяПКО = "РасходныйОрдер";
Иначе
Сообщить("Не предусмотренный тип значения элемента для :" + Значение);
Отказ = 1;
КонецЕсли
Платёжка доходит и встаёт на место, а расходник никак не хочет. При выгрузке появляется только платежка, расходника нет. Всю голову сломал.
ПОдскажите идеи, если есть...
|
|
2
Бархат
24.08.17
✎
19:59
|
(1) не не не, на место //НЕ РАБОТАЕТ подходит расходник. Правило для составного для него тоже указываю расходническое (только значение до него не доходит)
на место //работает подходит платёжка.
Как будто что-то есть между "перед выгрузкой объекта" и "при выгрузке" реквизита, где расходник затирается
|
|
3
Бархат
25.08.17
✎
15:55
|
то ли лыжи не едут, то ли еще что.
Выяснил в отладчике, что после //не работает "входящиеДанные" нормально с РКО подходят к концу функции, а потом при выходе значение в списке значений "ВходящиеДанные" пустое. СРАЗУ ПОСЛЕ ВЫХОДА ИЗ ФУНКЦИИ!!! причем РКО пустое, а платёжка есть. Как это так может быть??? РКО вышибает из списка значений, а платёжку нет???
есть что-то, что из списка значений может улететь? Как это вообще может случаться.
там же, где //не работает, ввёл тестовую строку в этот список значений "ВходящиеДанные". После выхода из функции эта строка остаётся. Вышибает только РКО.
Как так?
|
|