1с создание договора программно

Обновлено: 08.07.2024

Програмное создание договора контрагента в 1С из Delphi

Приложению Delphi требуется экспортировать данные контрагентов и их договоров в 1С.

Экспорт и импорт контрагентов происходит без ошибок, а при экспорте договоров возникает ошибка - Не удалось записать: "Договоры контрагентов"!

Фрагмент кода примерно следующий:

if not VarIsEmpty(ole_1C) then
begin
ole_Doc := ole_1C.Справочники.ДоговорыКо нтрагентов;
if not VarIsEmpty(ole_Doc) then
begin
ole_Temp := UnAssigned;
for I := 0 to Form1.SG.RowCount - 1 do // SG - некий StringGrid с данными.
begin
S := SG.Cells[0,I];
ole_Temp := ole_Doc.НайтиПоКоду(S);
if ole_1C.XMLString(ole_Temp) = ole_1C.XMLString(ole_Doc.ПустаяСсылка( )) then
begin
ole_TekDoc := ole_Doc.СоздатьЭлемент();
ole_TekDoc.Код := SG.Cells[0,I];
ole_TekDoc.Наименование := SG.Cells[1,I]; // наименование Договора
ole_TekDoc.НаименованиеДляПеча� �и := SG.Cells[1,I];
ole_Persons := ole_1C.Справочники.Контрагент ы;
ole_Temp := ole_Persons.НайтиПоРеквизиту('Ко дПоЕДРПОУ', '12345678');
ole_TekDoc.Владелец := ole_Temp // контрагент
ole_Persons := ole_1C.Справочники.Организаци и;
ole_Temp := ole_Persons.НайтиПоКоду('000000001');
ole_TekDoc.Организация := ole_Temp;
ole_TekDoc.Дата := SG.Cells[6,I];
ole_TekDoc.Номер := SG.Cells[7,I];
ole_TekDoc.УстановленСрокОплат� � := True;
ole_TekDoc.СрокОплаты := SG.Cells[8,I];
ole_Temp := ole_1C.Справочники.Валюты.Най� �иПоКоду('980');
ole_TekDoc.ВалютаВзаиморасчето� � := ole_Temp; // валюта
ole_Temp := ole_1C.Перечисления.ВедениеВз аиморасчетовПоДоговор ам.ПоДоговоруВЦелом;
ole_TekDoc.ВедениеВзаиморасчет� �в := ole_Temp;
ole_Temp := ole_1C.Перечисления.ВидыДогов оровКонтрагентов.Проч ее;
ole_TekDoc.ВидДоговора := ole_Temp;
ole_TekDoc.Записать(); // Здесь возникает ошибка - Не удалось записать: "Договоры контрагентов"!
end;
end;
end;
end;

Ввод договора и его реквизитов в самой среде 1С происходит при заполнении минимально необходимых параметров. При заполнении этих же параметров во внешнем соединении через COM при попытке сохранения происходит вышеупомянутая ошибка.

Если кто-либо сталкивался с подобными вопросами прошу подсказать все ли параметры указаны для сохранения или где может быть ошибка.

Чтобы подписать договор с контрагентом, о нем нужно иметь такие сведения как ИНН и КПП, адрес, реквизиты банковских счетов и фамилии уполномоченных лиц. Не так давно в «1С:Бухгалтерии 8» появилась возможность формировать все необходимые реквизиты организации для вывода на печать или для отправки в электронной форме. Но это не все способы использования реквизитов контрагентов. Релиз 3.0.37.21 позволяет формировать тексты договоров непосредственно в «1С:Бухгалтерии 8» ред. 3.0 с использованием имеющихся реквизитов организации. О том, как работает новая возможность, читайте в материале экспертов 1С.

Для просмотра и редактирования уже имеющихся шаблонов необходимо открыть их список в разделе Справочники и группе Покупки и продажи (рис. 1).

01.jpg

Рис. 1. Шаблоны договоров в разделе Справочники

В типовой поставке присутствуют шаблоны трех видов договоров (рис. 2).

02.jpg

Рис. 2. Три вида договоров

Открыв любой из шаблонов, вы попадаете в конструктор текста (рис. 3). В нем можно редактировать уже имеющийся текст, для чего в командной панели есть все привычные пиктограммы текстовых редакторов. Кроме того, в тексте желтым цветом выделены шаблоны, позволяющие получать нужные значения из данных, содержащихся в программе – таких, например, как Полное наименование Организации и т.п. Такие конструкции могут быть вставлены в нужные места шаблона – с помощью кнопки Вставить в текст (рис. 4), или заменить уже имеющиеся.

03.jpg

Рис. 3. Редактирование шаблона договора поставки

04.jpg

Рис. 4. Добавление в текст имеющихся реквизитов с помощью кнопки Вставить в текст

Шаблоны можно не только редактировать, но и создавать новые, в том числе, взяв за основу уже имеющиеся. Для этого нужно лишь щелкнуть по кнопке Создать и выбрать в качестве основания один из трех имеющихся шаблонов и внести необходимые изменения в текст, либо создать свой шаблон с нуля.

Каким образом используется шаблон договора? К нему можно обратиться из формы элемента справочника Договоры, который в свою очередь открывается обычным путем (рис. 5,6).

05.jpg

Рис. 5. Справочник «Контрагенты»

06.jpg

Рис. 6. Справочник Договоры

07.jpg

Таким образом, создание печатной формы нового типового договора облегчается в разы и становится удобным как для бухгалтера, так и для руководителя: достаточно урегулировать с юристами текст договора, ввести его в список шаблонов, после чего добавить нового контрагента, его реквизиты, номер и дату договора, а затем сформировать текст для вывода на печать и сохранения в электронной форме. При необходимости ввести в список авторизованных пользователей информационной базы можно юриста организации или сотрудника коммерческого отдела, предоставив доступ только к пакету необходимых объектов для создания договоров.

На момент написания данного материала возможность работы с шаблонами договоров добавлена в типовую конфигурацию «1С:Бухгалтерия 8» версии КОРП, в версии ПРОФ она появится с выходом очередного релиза.

Читайте также: