Цитата:
Сообщение от
EVGL
Еще один кошмарный образчик неудавшейся функциональности - это т.н. "трехсторонее сопоставление":
Ага, а еще это "многостороннее сопоставление"
убило возможность корректировки входящего НДС. Ведь исходящий НДС мы должны посчитать по ставке 18% (ну или по той ставке, которой надо) - а входящий по большому счету - мы не считать должны, а должны забить таким, каким он к нам пришел в счет-фактуре, даже если он отличается от расчетного.
Возможно, конечно - что виновато в этом не это сопоставление - но, учитывая схему его работы - ручная корректировка входящего НДС совершенно не вписывается в идеологию сопоставления. А проанализировав код, который лишил возможности корректировать НДС - я все-таки пришел к выводу - что отключили эту функциональность исключительно ради функциональности трехстороннего сопоставления.
Речь идет о форме Настройка-Налог из заказов на покупку. Вкладка Корректировка появляется только для исходящего налога (форма TaxTmpWorkTrans).
Вот что на форме прописано в методе init (особенно порадовало - КАК это написано - formstr и название формы с апострофами):
X++:
......
switch (callerForm.name())
{
case formstr('PurchTable') :
regulationTab.visible(false);
tmpTaxRegulation_ds.allowCreate(false);
tmpTaxRegulation_ds.allowDelete(false);
break;
......
Здесь - relulationTab - как раз та самая закладка Коррекция
Метод setAllowEdit той же формы:
X++:
if (callerForm)
{
if (callerForm.name() == formstr('PurchTable'))
{
purchaseOrderForm = true;
}
}
if (sourceSingleLine || (!taxRegulation.taxLinesExist() && !invoiceRegister)
|| purchaseOrderForm == true)
{
tmpTaxRegulation_ds.allowEdit(false);
taxRegulationField.allowEdit(false);
Что любопытно:
1. "Врезки" с упоминанием PurchTable сделаны аккуратно. Если их также аккуратно убрать - то функционал корректировки входящего НДС появляется. Правда в этом случае начинает (как и ожидалось) крышу сносить у трехстороннего сопоставления - НДС-то уже "не тот"
. Я имею в виду конечно вариант, когда цена включает НДС.
2. Код формы TaxTmpWorkTrans в 4.0 SP2 отличается от кода формы в 2009 RU6 исключительно этими вставками
3. То, КАК было написано название формы в коде позволяет сделать вывод о гхм... сравнительно небольшом опыте работы в АХ разработчика, писавшего этот код. Неудивительно - что он "поломал" функциональность корректировки - он просто мог не знать для чего она нужна....
А теперь самое интересное. В официальных тренингах от МС корректировка входящего НДС описана как работающая функциональность, которую нужно показывать слушателям (ну, само собой, трехстороннее сопоставление тоже должно показываться). Правда, налоги рассказываются в курсе по финансам (Финансы 1, глава 6; Корректировка на стр. 6-62), а сопоставление - в курсе по логистике (Логистика 1, глава 3 на стр. 3-64)
.