Имя: Пароль:
1C
1С v8
Программное изменение договора
0 ErrorEd88
 
20.10.11
15:15
БП 2.0 ("на замке", обработка - внешняя).
Есть много документов, где организация в договоре с контрагентом разнится с организацией в документе - последствия работы с групповой обработкой) Пытаюсь программно это исправить.

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|ПоступлениеНаРасчетныйСчет.Ссылка,
|ПоступлениеНаРасчетныйСчет.Организация,
|ПоступлениеНаРасчетныйСчет.Контрагент,
|ПоступлениеНаРасчетныйСчет.ДоговорКонтрагента КАК Дог,
|ПоступлениеНаРасчетныйСчет.ДоговорКонтрагента.Организация КАК ДогОрг,
|ПоступлениеНаРасчетныйСчет.ДоговорКонтрагента.Ссылка КАК ДогСсылкса,
|ПоступлениеНаРасчетныйСчет.Организация.Ссылка КАК ОргСсылка
|ИЗ
|Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет";
Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
Сообщить("Документ");

Если ЗначениеЗаполнено(Выборка.Дог) И Выборка.Организация <> Выборка.ДогОрг Тогда
Сообщить("Расхождение");
Док = Выборка.Ссылка.ПолучитьОбъект();

ЗапросДог = Новый Запрос;
ЗапросДог.УстановитьПараметр("Контрагент", Док.Контрагент);
ЗапросДог.УстановитьПараметр("Организация", Док.Организация);
ЗапросДог.УстановитьПараметр("Вид", Перечисления.ВидыДоговоровКонтрагентов.СПокупателем);
ЗапросДог.Текст = "ВЫБРАТЬ
|ДоговорыКонтрагентов.Ссылка,
|ДоговорыКонтрагентов.Организация,
|ДоговорыКонтрагентов.Владелец,
|ДоговорыКонтрагентов.Наименование
|ИЗ
|Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
|ДоговорыКонтрагентов.Организация = &Организация
|И ДоговорыКонтрагентов.Владелец = &Контрагент
|И ДоговорыКонтрагентов.ВидДоговора = &Вид";
ВыборкаДог = ЗапросДог.Выполнить().Выбрать();

Если ВыборкаДог.Следующий() Тогда
 Сообщить("Есть совпадение"); Сообщить(Док);
 Док.ДоговорКонтрагента = Неопределено;
 Док.ДоговорКонтрагента = ВыборкаДог.Ссылка;
 Док.Записать();
 Если Док.ДоговорКонтрагента.Организация = Док.Организация Тогда
 Сообщить("Произведена замена");
КонецЕсли;
КонецЕсли;
Конецесли;
КонецЦикла;

Код не срабатывает на последнем этапе - Док.ДоговорКонтрагента = ВыборкаДог.Ссылка.
В чем может быть причина?
1 Blade Runner
 
20.10.11
15:20
v8: Как программно установить основной договор контрагента?
в методе Бормаглота очень даже сударь может быть :)
2 ErrorEd88
 
20.10.11
15:42
(1) Нет там ничего.
Почему не меняется реквизит документа на указанный?
3 hhhh
 
20.10.11
15:54
(2) ты - нереальный приколист. Уже несколько лет Договор находится в табличной части РасшифровкаПлатежа, а ты всё продолжаешь в шапку документа смотреть.
4 ErrorEd88
 
20.10.11
16:06
(3) спасимбо