// НайдКонтр.ОсновнойДоговорКонтрагента = ОснДоговор.Ссылка; //Потом надо переделать через GUID // НайдКонтр.Записать(); РаботаСДоговорамиКонтрагентовБП.УстановитьОсновнойДоговорКонтрагента(ОснДоговор.Ссылка);
&НаСервере Функция ПолучитьОсновнойДоговорКонтрагента(ТекКонтрагент) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | ОсновныеДоговорыКонтрагента.Контрагент, | ОсновныеДоговорыКонтрагента.Договор КАК ОсновнойДоговор |ИЗ | РегистрСведений.ОсновныеДоговорыКонтрагента КАК ОсновныеДоговорыКонтрагента |ГДЕ | ОсновныеДоговорыКонтрагента.Контрагент = &Контрагент"; Запрос.УстановитьПараметр("Контрагент", ТекКонтрагент); РезультатЗапроса = Запрос.Выполнить(); Выб = РезультатЗапроса.Выбрать(); Пока Выб.Следующий() Цикл ТекДоговорКонтрагента = Выб.ОсновнойДоговор; КонецЦикла; Возврат ТекДоговорКонтрагента; КонецФункции
//Находит контрагента по ИНН, если не находит - создает нового, вместе с ОсновнымДоговором &НаСервере Функция НайтиИлиСоздатьКонтрагента(ИНН,Наим,КПП) Если ИНН = "БОНУС" Тогда НайдКонтр = Бонус; Возврат НайдКонтр; ИначеЕсли ИНН = "РОЗНИЦА" Тогда НайдКонтр = РознПродажа; Возврат НайдКонтр; ИначеЕсли СокрЛП(ИНН) = "" Тогда НайдКонтр = КонтрБезИНН; Возврат НайдКонтр; Иначе НайдКонтр = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН",ИНН); Если НЕ НайдКонтр = Справочники.Контрагенты.ПустаяСсылка() Тогда Возврат НайдКонтр; Иначе НайдКонтр = Справочники.Контрагенты.СоздатьЭлемент(); НайдКонтр.Наименование = СокрЛП(Наим); НайдКонтр.НаименованиеПолное = СокрЛП(Наим); НайдКонтр.ИНН = ИНН; НайдКонтр.КПП = КПП; НайдКонтр.Родитель = ГруппаПоставщиков; Если СтрДлина(ИНН) = 10 Тогда НайдКонтр.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо; Иначе НайдКонтр.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо; КонецЕсли; НайдКонтр.Записать(); ОснДоговор = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент(); ОснДоговор.Наименование = "ОсновнойДоговор"; ОснДоговор.Организация = Организация; ОснДоговор.Владелец = НайдКонтр.Ссылка; ОснДоговор.Номер = "1"; Осндоговор.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком; ОснДоговор.Валютный = Ложь; ОснДоговор.ВалютаВзаиморасчетов = Справочники.Валюты.НайтиПоКоду("643"); ОснДоговор.Записать(); // НайдКонтр.ОсновнойДоговорКонтрагента = ОснДоговор.Ссылка; //Потом надо переделать через GUID // НайдКонтр.Записать(); РаботаСДоговорамиКонтрагентовБП.УстановитьОсновнойДоговорКонтрагента(ОснДоговор.Ссылка); Возврат НайдКонтр.Ссылка; КонецЕсли; КонецЕсли; КонецФункции