0
hawksib
17.11.14
✎
13:08
|
Здравствуйте, столкнулся с проблемой при конвертации данных, хочу перенести дополнительные сведения из бухгалтерии в другую программу, для документа поступление товаров и услуг в обработчике события перед выгрузкой объекта пишу следующий код:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Истина КАК Активность,
| ДополнительныеСведения.Объект КАК Элемент,
| ДополнительныеСведения.Свойство КАК Параметр,
| ДополнительныеСведения.Значение КАК Значение
|ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
|ГДЕ
| ДополнительныеСведения.Объект = &Объект
| И ДополнительныеСведения.Свойство.Заголовок <> ""Командировки""
| И ДополнительныеСведения.Свойство.Заголовок <> ""Управленческий учет""";
Запрос.УстановитьПараметр("Объект", Источник);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ВыгрузитьПоПравилу(,,Выборка,,"ДополнительныеСвойства")
КонецЦикла;
и у меня возникает ошибка, до этого этот код проверил на документе авансовый отчет, всё работало, решил добавить все типы документов и теперь и авансовый отчет даже не выгружается, на рабочей станции 1с просто вылетает, на сервере выдает ошибку
Ошибка при вызове метода контекста (ВыгрузитьПоПравилу): Переполнение стека встроенного языка на сервере
причем выдает её миллиард раз, у объекта свойсва всего три, кто-нибудь сталкивался?
|
|
3
hawksib
17.11.14
✎
13:31
|
не пойму ничего, в цикл добавил
Сообщить(Строка(Выборка.Элемент) + " = " + Строка(Выборка.Значение));
и в самом деле сообщение "Поступление товаров и услуг СГП00001829 от 30.11.2014 23:59:59 = ЦЗ Жизнедеятельность"
вывелось миллиард раз, может быть кто-нибудь знает почему?
|
|
5
Salimbek
17.11.14
✎
13:33
|
(2) Телепатирую, у тебя в "Выгрузить по правилу" выгружаются все поля этого Объекта вместе со всеми своими вложениями. В каком-то из этих полей прописан это же Объект, поэтому он начинает выгружаться повторно, и еще, и еще, и т.д.
|
|