план обмена

1. aritochka777 21.05.20 15:16 Сейчас в теме
Прошу помощи у всезнающих.
Конфиги самописные.
Нужно в приемнике создать документ на основании данных источника.
Документ создается и все бы хорошо, но в момент записи спотыкается и вылетает ошибка:
{Обработка.ЗагрузкаЗаказЭлектронный.Форма.Форма1.Форма(980)}: Ошибка при вызове метода контекста (Записать)
докОбъект.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{Документ.ЗаказПокупателяЭлектронный.МодульОбъекта(31)}: Ошибка при вызове метода контекста (ЗарегистрироватьИзменения)
докОбъект.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
по причине:
Недопустимое значение параметра (параметр номер '1')
{Документ.ЗаказПокупателяЭлектронный.МодульОбъекта(31)}: Ошибка при вызове метода контекста (ЗарегистрироватьИзменения)
ПланыОбмена.ЗарегистрироватьИзменения(НайденныйУзел,ЭтотОбъект);
по причине:
Недопустимое значение параметра (параметр номер '1')

НайденныйУзел, прописан в плане обмена, и его находит конфигуратор. Что это может быть?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SeiOkami 3436 21.05.20 20:40 Сейчас в теме
Можеть быть, что НайденныйУзел

1. Не является значением типа Массив или ПланОбменаСсылка
2. Содержит узел плана обмена, который в своём составе не имеет этот тип объекта
3. Содержит текущий узел плана обмена базы
4. Может что-то ещё. Нужно больше информации
3. aritochka777 26.05.20 07:54 Сейчас в теме
(2)
Проверила
1. Является типом ПланОбменаСсылка
2. В составе есть этот тип объекта
3. Здесь не поняла. Можете поподробнее объяснить, пжл
4. SeiOkami 3436 26.05.20 08:22 Сейчас в теме
(3) бывает так, что по ошибке в НайденныйУзел попадает Текущий узел базы. То есть происходит попытка зарегать изменения на самого себя. В такой ситуации выпадет ошибка.

Если узел текущей базы, то у него будет Истина в реквизите ЭтотУзел
Rettro; VasilyErmak; +2 Ответить
5. aritochka777 26.05.20 09:32 Сейчас в теме
(4)
Так и есть. ЭтотУзел = Истина
НайденныйУзел ищет в плане обмена по наименованию контрагента.
т.е. найденныйУзел один единственный в планах обмена.
Как обойти эту ошибку можно? Помогите!!!
6. SeiOkami 3436 26.05.20 11:10 Сейчас в теме
(5) необходимо в этом куске кода исключать текущий узел.

Если у вас НайденныйУзел всегда ссылка, то перед регистрацией просто проверяйте его на "ЭтотУзел". Если это он, то НЕ делайте регистрацию. Примерно так:

Если ЗначениеЗаполнено(НайденныйУзел) И НЕ НайденныйУзел.ЭтотУзел Тогда
    ПланыОбмена.ЗарегистрироватьИзменения(НайденныйУзел,ЭтотОбъект);
КонецЕсли
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот