Имя: Пароль:
1C
1С v8
Изменение контрагента в документах
0 Saval1986
 
10.11.16
12:17
Задача: сделать универсальную обработку, которая заменит в документах одного контрагента на другого.

Проблема: в каждом документе существует свой алгоритм, срабатывающий при интерактивном изменении контрагента.

Вопрос. Можно ли написать универсальный код, смысл которого следующий:
1. Находим нужный документ.
2. Меняем контрагента в документе;
3. Получаем форму документа;
4. Вызываем для этой формы событие "ПриИзмененииКонтрагента";
5. Пытаемся записать и провести.

Возможна такая реализация?
1 Ёпрст
 
10.11.16
12:22
(0) Да.
2 Ёпрст
 
10.11.16
12:23
6.Попутно изменяем все подчиненные и связанные документы.
3 Saval1986
 
10.11.16
13:23
Спасибо, буду пробовать. =)
4 Saval1986
 
14.11.16
10:54
В общем при написании обработки столкнулся с такой проблемой: ссылки на неправильного контрагента ищу через метод "НайтиПоСсылкам".
1. Если кто работал с этим методом - подскажите как правильно задать ОбластьПоиска? Пробовал в массив помещать и объекты метаданных, и строки. все равно выдает ошибку при вызове (неверно указан параметр 2). также пробовал указывать параметр "ВключитьОбъекты". тоже самое. думаю, что возможно это происходит из-за включенного режима совместимости с 8.2. Где-то вычитал, что в одном из релизов 8.3 для метода "НайтиПоСсылкам" были добавлены указанные выше параметры.
2. Когда нашел нужные документы - пытаюсь поменять соответствующий реквизит. Изменение происходит (смотрел и через отладчик, и в режиме "Предприятие"). Но почему-то при повторном поиске ссылок в части документов они сохраняются. Не подскажите куда копать?
5 h-sp
 
14.11.16
10:58
пользуйся стандартной обработкой ПоискИЗаменаЗначений
6 Saval1986
 
14.11.16
11:55
(5) Спасибо, попробую.