В методе initCompanyData() я заменяю реквизиты основной компании на реквизиты одного из ЧП, из которых состоит наша компания.
Производится это, если в накладной установлена аналитика отдел, которая является ссылкой на внутреннее юр. лицо, которое хранится в таблице поставщиков.
См. код внутри комментариев // FD_M018
Затем создаю тестовую закупку и обрабатываю накладную.
Все реквизиты подставляются замечательно, но есть один косяк:
В поле Грузополучатель вместо адреса данного ЧП все равно подставляется адрес головной компании, а название и телефон заменяются нормально.
В поле плательщик вообще все замечательно.
Т.е. адрес определяется еще раз после вызова initCompanyData().
Подскажите ,пожалуйста, где?
PHP код:
protected SalesPurchReportCounteragentData_RU initCompanyData()
{
SalesPurchReportCounteragentData_RU ret = new SalesPurchReportCounteragentData_RU(this.languageId());
// FD_M018
VendTable InnerJPerson;
if (invoiceJour.Dimension[0]!='') // Если аналитика отдел установлена
{
select firstonly * from InnerJPerson where (InnerJPerson.AccountNum==invoiceJour.Dimension[0]);
company.Name = InnerJPerson.Name;
company.Address = InnerJPerson.Address;
company.Phone = InnerJPerson.Phone;
company.TeleFax = InnerJPerson.TeleFax;
company.CodeOKDP_RU = InnerJPerson.OKDP_RU;
company.CodeOKPO_RU = InnerJPerson.OKPO_RU;
company.INN_RU = InnerJPerson.INN_RU;
company.Bank = InnerJPerson.BankAccount;
}
// FD_M018
ret.parmName (company.Name);
ret.parmAddress (company.Address);
ret.parmPhone (company.Phone);
ret.parmTelefax (company.TeleFax);
ret.parmBankAccountTable(BankAccountTable::find(company.Bank));
ret.parmOKDP (company.CodeOKDP_RU);
ret.parmOKPO (company.CodeOKPO_RU);
ret.parmINN (company.INN_RU);
ret.parmStructDept (SalesParameters::find().StructDepartment_RU);
return ret;
}