APanov2017 / Kontur-Diadoc

Get-send documents
0 stars 0 forks source link

Если плательщик и грузополучатель разные, то возникает ошибка. #1

Closed APanov2017 closed 6 years ago

APanov2017 commented 6 years ago

Здравствуйте! При заполнении грузополучателя, отличающего от плательщика, в счёт-фактуре и накладной возникает ошибка: не заполнен адрес. Адрес заполняется как Consignee.Address.ForeignAddress.Address. Что не так заполняю? 20180919_error_diadoc

... end else begin // грузополучатель другой Content_1.Consignee:=CoExtendedOrganizationInfo.Create; Content_1.Consignee.Inn:=qryData.FieldByName('GRUZO_POLUCH_Inn').AsString; Content_1.Consignee.Kpp:=qryData.FieldByName('GRUZO_POLUCH_Kpp').AsString;

      Content_1.Consignee.Address:=CoAddress.Create;
        Content_1.Consignee.Address.ForeignAddress:=CoForeignAddress.Create;
          Content_1.Consignee.Address.ForeignAddress.Country:='7';
          Content_1.Consignee.Address.ForeignAddress.Address:=qryData.FieldByName('GRUZO_POLUCH_Address').AsString;
      Content_1.Consignee.Phone:=qryData.FieldByName('GRUZO_POLUCH_Phone').AsString;
      Content_1.Consignee.OrgTypeValue:=OrgType_LegalEntity;
    LogWrite('', 'Грузополучатель заполнен.');
  end;

...

APanov2017 commented 6 years ago

Решение найдено.

  1. Оказывается OrgName обязательное поле. Content_1.Consignee.OrgName:=qryData.FieldByName('GRUZO_POLUCH_Descr').AsString;
  2. КодРоссии = 643, а не 7. Content_1.Consignee.Address.ForeignAddress.Country:='643';

    Ниже полный код ... end else begin // грузополучатель другой Content_1.Consignee:=CoExtendedOrganizationInfo.Create; Content_1.Consignee.Inn:=qryData.FieldByName('GRUZO_POLUCH_Inn').AsString; Content_1.Consignee.Kpp:=qryData.FieldByName('GRUZO_POLUCH_Kpp').AsString; Content_1.Consignee.OrgName:=qryData.FieldByName('GRUZO_POLUCH_Descr').AsString; Content_1.Consignee.BankId:=qryData.FieldByName('GRUZO_POLUCH_BIK').AsString; Content_1.Consignee.BankName:=qryData.FieldByName('GRUZO_POLUCH_BankName').AsString; Content_1.Consignee.BankAccountNumber:=qryData.FieldByName('GRUZO_POLUCH_Bank_RS').AsString; Content_1.Consignee.CorrespondentAccount:=qryData.FieldByName('GRUZO_POLUCH_Bank_KS').AsString; Content_1.Consignee.Address:=CoAddress.Create; Content_1.Consignee.Address.ForeignAddress:=CoForeignAddress.Create; Content_1.Consignee.Address.ForeignAddress.Country:='643'; Content_1.Consignee.Address.ForeignAddress.Address:=qryData.FieldByName('GRUZO_POLUCH_Address').AsString; Content_1.Consignee.Phone:=qryData.FieldByName('GRUZO_POLUCH_Phone').AsString; Content_1.Consignee.OrgTypeValue:=OrgType_LegalEntity; LogWrite('', 'Грузополучатель заполнен.'); end; ...

APanov2017 commented 6 years ago

Issue closed.