![]() |
![]() |
![]() |
|
Как программно создать договор контрагента. | ☑ | ||
---|---|---|---|---|
0
Klesk
20.09.06
✎
11:37
|
Первый раз пишу в 1Cv8.
Импортирую контрагентов из excel. Надо записать договор, взял из формы справочника процедуру. Процедура ПроверитьОсновнойДоговорКонтрагента(Контрагент, НовыйОсновнойДоговорУказан) НайденныйДоговорОбъект = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент(); НайденныйДоговорОбъект.Наименование = "Основной договор"; НайденныйДоговорОбъект.ВедениеВзаиморасчетов = ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, "ОсновноеВедениеВзаиморасчетовПоДоговорам"); Если ЗначениеНеЗаполнено(НайденныйДоговорОбъект.ВедениеВзаиморасчетов) Тогда НайденныйДоговорОбъект.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоЗаказам; КонецЕсли; НайденныйДоговорОбъект.ВалютаВзаиморасчетов = ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, "ОсновнаяВалютаВзаиморасчетов"); Если ЗначениеНеЗаполнено(НайденныйДоговорОбъект.ВалютаВзаиморасчетов) Тогда НайденныйДоговорОбъект.ВалютаВзаиморасчетов = Константы.ВалютаУправленческогоУчета.Получить(); КонецЕсли; НайденныйДоговорОбъект.Организация = ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, "ОсновнаяОрганизация"); Если ЗначениеНеЗаполнено(НайденныйДоговорОбъект.Организация) Тогда Выборка = Справочники.Организации.Выбрать(); Если Выборка.Следующий() Тогда НайденныйДоговорОбъект.Организация = Выборка.Ссылка; КонецЕсли; КонецЕсли; НайденныйДоговорОбъект.Владелец = Контрагент; НайденныйДоговорОбъект.ВидУсловийДоговора = Перечисления.ВидыУсловийДоговоровВзаиморасчетов.БезДополнительныхУсловий; Если Контрагент.Покупатель Тогда НайденныйДоговорОбъект.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем; НайденныйДоговорОбъект.ТипЦен = Справочники.ТипыЦенНоменклатуры.ПустаяСсылка(); ИначеЕсли Контрагент.Поставщик Тогда НайденныйДоговорОбъект.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком; НайденныйДоговорОбъект.ТипЦен = Справочники.ТипыЦенНоменклатурыКонтрагентов.ПустаяСсылка(); Иначе НайденныйДоговорОбъект.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.Прочее; КонецЕсли; НайденныйДоговорОбъект.Записать(); !!!!!/////////////////////ОШИБКА:Вид договора "С поставщиком" может устанавливаться только когда у контрагента указано что он является поставщиком. !!!!//////////////////////////////////////// ОсновнойДоговорКонтрагента = НайденныйДоговорОбъект.Ссылка; НовыйОсновнойДоговорУказан = Истина; КонецПроцедуры Записываю элемент так: НовыйКонтрагент=Справочники.Контрагенты.СоздатьЭлемент(); НовыйКонтрагент.Родитель=Родитель; НовыйКонтрагент.Наименование=Зн; НовыйКонтрагент.НаименованиеПолное=Зн; НовыйКонтрагент.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ЮрЛицо; НовыйКонтрагент.Поставщик=Истина; НовыйКонтрагент.НаименованиеПолное=Зн; НовыйКонтрагент.Записать(); Состояние("Записано "+Ы+" Контрагентов"); НовыйОсновнойДоговорУказан = Ложь; ПроверитьОсновнойДоговорКонтрагента(НовыйКонтрагент, НовыйОсновнойДоговорУказан); Происходит ошибка: Вид договора "С поставщиком" может устанавливаться только когда у контрагента указано что он является поставщиком. в процедуре ПередЗаписью() формы справочника. Как это правильно сделать? Заранее спасибо. |
|||
1
АцкийМодер
20.09.06
✎
11:40
|
Нужно сначала получить объект контрагента, поставить нужные галки, записать, потом создавать договор.
|
|||
2
Klesk
20.09.06
✎
11:49
|
(1) а как?
|
|||
3
Salvador Limones
20.09.06
✎
11:55
|
(2) Что как?
|
|||
4
Бойс
20.09.06
✎
11:57
|
(2) Групповая обработка справочников и документов
|
|||
5
Klesk
20.09.06
✎
12:01
|
(3) Можно небольшой пример?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |