|
03.10.2014, 10:42 | #1 |
Участник
|
AX12 Удаление поставщика
Подскажите, при удалении поставщика выдается сообщение: "Значение финансовой аналитики основано на записи "Счет поставщика" и использовалось в проводке. Удаление записи "Счет поставщика" невозможно". Поставщик не удаляется, хотя по нему нет ни одной разнесенной проводки, ни договора, ничего...
Поставщика завели, внесли строку в общего журнала ГК, журнал не разносили. Затем, удалили строку и журнал. А поставщика не можем. В финансовых аналитиках поставщиков не подвязывали. Где искать ссылки и как их удалит? |
|
03.10.2014, 10:59 | #2 |
Молодой, подающий надежды
|
В джобе для удаляемого поставщика вызовите
X++: DimensionAttributeValue::updateForEntityValueDelete(vendTable); X++: //удаление поставщика и его записи в ГАК static void peko_test(Args _args) { VendAccount vendAccount = ''; // Код поставщика VendTable vendTable; DirPartyTable dirPartyTable; DirPartyLocation dirPartyLocation; TaxRegistration taxRegistration; PurchAgreementHeader purchAgreementHeader; AgreementHeaderExt_RU agreementHeaderExt; setPrefix("Удаление поставщика"); try { ttsBegin; vendTable = VendTable::find(vendAccount, true); if (! vendTable) { throw error("Поставщик не найден"); } dirPartyTable = DirPartyTable::findRec(vendTable.Party, true); while select forUpdate dirPartyLocation where dirPartyLocation.Party == dirPartyTable.RecId { while select forUpdate taxRegistration where taxRegistration.DirPartyLocation == dirPartyLocation.RecId { if (! taxRegistration.validateDelete()) { throw Exception::Error; } taxRegistration.delete(); } dirPartyLocation.IsLocationOwner = NoYes::No; dirPartyLocation.IsPrimary = NoYes::No; if (! dirPartyLocation.validateDelete()) { throw Exception::Error; } dirPartyLocation.delete(); } if (vendTable.InvoiceAccount) { vendTable.InvoiceAccount = ''; vendTable.doUpdate(); } while select forUpdate purchAgreementHeader where purchAgreementHeader.VendorDataAreaId == vendTable.dataAreaId && purchAgreementHeader.VendAccount == vendTable.AccountNum { if (! purchAgreementHeader.validateDelete()) { throw Exception::Error; } select firstonly forupdate agreementHeaderExt where agreementHeaderExt.AgreementHeader == purchAgreementHeader.RecId; if (agreementHeaderExt) { DimensionAttributeValue::updateForEntityValueDelete(agreementHeaderExt); agreementHeaderExt.delete(); } purchAgreementHeader.delete(); } if (! vendTable.validateDelete()) { throw Exception::Error; } DimensionAttributeValue::updateForEntityValueDelete(vendTable); vendTable.delete(); if (! dirPartyTable.validateDelete()) { throw Exception::Error; } dirPartyTable.delete(); ttsCommit; info(strFmt("Поставщик %1 удален.", vendAccount)); } catch { error("Произошла ошибка."); } }
__________________
Кононов Пётр Последний раз редактировалось pedrozzz; 03.10.2014 в 11:01. |
|
|
За это сообщение автора поблагодарили: leva (2), bud (1), arhat (1). |
03.10.2014, 11:14 | #3 |
Участник
|
Спасибо!
|
|