Программная установка основного договора

1. mnbvcxz10 14.01.21 00:24 Сейчас в теме
Доброго дня ! Не удается назначить основной договор, обработка запускается, отрабатывает без ошибок, результата нет.
В чем может быть дело
База на УФ. Основной договор хранится в одноименном реквизите справочника Контрагенты (не в регистре сведений !).

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

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	 ВыбДогКонтрагента = Справочники.ДоговорыКонтрагентов.Выбрать(,ВыборкаДетальныеЗаписи.Ссылка);
	 
	Пока ВыбДогКонтрагента.Следующий() Цикл			 
    КонтрагентОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
	КонтрагентОбъект.ОсновнойДоговор = ВыбДогКонтрагента;
	Попытка
	КонтрагентОбъект.Записать();
    Исключение
	 Сообщить("Не удалось записать объект """ + КонтрагентОбъект + """
	 |" + ОписаниеОшибки(), 60);	 
     КонецПопытки;
    КонецЦикла;

	 КонецЦикла; 
КонецПроцедуры
Показать
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
5. user705522_constantin_h 35 14.01.21 13:17 Сейчас в теме
(1)Какой тип у Контрагент.ОсновнойДоговор?
mnbvcxz10; +1 Ответить
2. user1503726 14.01.21 00:35 Сейчас в теме
В выборке по договорам теоретически можно указать более конкретные условия, отбор по умолчанию может быть отключен.
mnbvcxz10; +1 Ответить
3. ZergKRSK 129 14.01.21 07:30 Сейчас в теме
Научу пользоваться Отладчиком. Дорого.
8. mnbvcxz10 14.01.21 17:17 Сейчас в теме
(3) Все не слава Богу :), Отладчик чегой-то перестал arbeiten . На клиент-сервере иногда чудеса в решете происходят. Разбираться - руки не дошли
4. andy_zhav 197 14.01.21 10:03 Сейчас в теме
(1) Посмотрите модуль объекта справочника контрагенты, процедуру перед записью и при записи. Может там затирается. можно еще добавить команду перед записью объекта КонтрагентОбъект.ОбменДанными.Загрузка = истина;
mnbvcxz10; +1 Ответить
9. mnbvcxz10 14.01.21 17:20 Сейчас в теме
Всем спасибо
(4) ОбменДанными.Загрузка = истина.
Спасибо за дельный совет.
6. user633533_encantado 11 14.01.21 13:22 Сейчас в теме
Не понятно что у вас за конфигурация. В общем случае могут быть обработчики, которые не дают назначить какой попало договор как основной.
mnbvcxz10; +1 Ответить
7. mnbvcxz10 14.01.21 17:14 Сейчас в теме
(6) Да вы правы. Конфа нетиповая, отраслевая. Реализована на версии БСП 3 - 4 летней давности
10. mnbvcxz10 14.01.21 17:26 Сейчас в теме
Рещил вопрос "от обратного":

Процедуру разместил (временно) в модуле списка справочника договоры. И там уже перебирая договора "вытаскивал" владельца договора и после назначал основной договор. Буквой "зю" реализация - но сработало.

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

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

КонецЦикла; 

КонецПроцедуры
Показать
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)