Уважаемые коллеги!
Приложению Delphi требуется экспортировать данные контрагентов и их договоров в 1С.
Экспорт и импорт контрагентов происходит без ошибок, а при экспорте договоров возникает ошибка - Не удалось записать: "Договоры контрагентов"!
Фрагмент кода примерно следующий:
procedure TForm1.BtnExportDocClick(Sender: TObject);
var
ole_Persons, ole_1C, ole_TekDoc, ole_Doc, ole_Creditor,
ole_Temp, ole_CurrentPerson: OleVariant;
I, R: Integer;
S: String;
begin
if VarIsEmpty(ole_1C) then
begin
ole_1C := CreateOleObject('V82.COMConnector');
ole_1C := ole_1C.Connect('File = d:ХХХ');
end;
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С происходит при заполнении минимально необходимых параметров. При заполнении этих параметров во внешнем соединении при попытке сохранения происходит вышеупомянутая ошибка.
Прошу подсказать все ли параметры указаны для сохранения или где может быть ошибка.
Платформа 1С 8.2.15.318
Заранее благодарен.