Цитата:
Изначально опубликовано glibs
В общем, если у тебя все действительно работает так, как ты пишешь, подтверди
Мдя, точно. В стандартной Аксапте цена берется карточки номенклатуры. Следовательно, стандартная себестоимость в стандартной Аксапте одна для всех конфигураций. Мало того, в стандартной Аксапте нет возможности указать цену для склада. Виноват. Забыл. Приношу извинения.
Что надо сделать:
Например, в методе InventJournalTrans.initFromInventTable вместо кода
PHP код:
this.costPrice = inventTableModule.price();
this.priceUnit = inventTableModule.priceUnit();
this.costMarkup = inventTableModule.markup();
this.costAmount = this.calcCostAmount();
надо написать код как в SalesPruchLine::setPriceAgreement(). Обратите внимание, что на перечисление поля relation
Вот список всех методов, которые вызывают inventTableModule.price().
\Data Dictionary\Tables\InventJournalTrans\Methods\initFromInventSum
\Data Dictionary\Tables\InventJournalTrans\Methods\initFromInventTable
\Classes\PriceDisc\findItemPrice
\Data Dictionary\Tables\RAssetScrap\Methods\initFromInventTable
\Classes\BOMCalcCost\calcInternal
Для верности, лучше всего поменять код во всех этих методах.
Ну и, естественно, пользователю надо предоставить возможность заносить эти цены.
Для этого предоставить возможность править таблицу PriceDiscTable. Как это делается можно посмотреть в формах PriceDiscGroup и PriceDiscTable. Хотя на мой взгляд эти формы сильно перегружены, можно и нужно сделать проще.
С переносом в бюджет. Подобное у меня было - правил.
Похоже надо наводить ревизию в моих правках. Эх, не получается без программирования. Хочется. Но совсем без него никак. Остается только минимизировать правки.