Практически в любом торговом документе есть поля Контрагент и его Договор. В Тисе при добавлении нового контрагента и выборе его в поле Контрагент в заявке покупателя – договор формируется автоматически с названием Основной договор. Т.е. Контрагент – Петров, Договор – Основной договор. Как сделать так чтобы можно было очищать поле договор/добавлять договор/изменять договор по номеру и дате заявки покупателя:
Процедура ДобавитьИзменитьДоговор() Если Договор.Выбран() = 1 Тогда //изменяем ДоговорСпр = СоздатьОбъект("Справочник.Договоры"); ДоговорСпр.НайтиЭлемент(Договор.ТекущийЭлемент()); ДоговорСпр.Наименование = "счет № " + Число(НомерДок) + " от " + Формат(ДатаДок,"Д ДДММГГГГ"); ДоговорСпр.Записать(); //перевыбираем в поле Договор Договор = ""; Договор = ДоговорСпр.ТекущийЭлемент(); Иначе //добавляем новый Если Контрагент.Выбран() = 1 Тогда НовДог = СоздатьОбъект("Справочник.Договоры"); ВалютаДог = СоздатьОбъект("Справочник.Валюты"); ТипЦенСпр = СоздатьОбъект("Справочник.ТипыЦен"); Если ТипЦенСпр.НайтиПоКоду("001") = 1 Тогда ТипЦенДог = ТипЦенСпр.ТекущийЭлемент(); КонецЕсли; Если ВалютаДог.НайтиПоКоду("810") = 1 Тогда ВалютаДоговора = ВалютаДог.ТекущийЭлемент(); КонецЕсли; //создаем новый договор НовДог.Новый(); НовДог.ТипЦен = ТипЦенДог; НовДог.ВалютаВзаиморасчетов = ВалютаДоговора; НовДог.НеКонтролироватьКредит = 1; НовДог.Владелец = Контрагент.ТекущийЭлемент(); //"счет № 001 от 01.01.2011" НовДог.Наименование = "счет № " + Число(НомерДок) + " от " + Формат(ДатаДок,"Д ДДММГГГГ"); НовДог.Записать(); //выбираем в поле Договор Договор = НовДог.ТекущийЭлемент(); КонецЕсли; КонецЕсли; КонецПроцедуры // ДобавитьИзменитьДоговор