gifts2017

Установка себестоимости товара при перемещении

Опубликовал Дмитрий Фаст (Dima_) в раздел Обработки - Обработка документов

При формировании отчёта «Оценка валовой прибыли» по Магазину значение поля «Себестоимость продаж» может оказаться «не установлена».
Одна из причин, что при создании документа "Перемещение товаров" данные в регистр сведений «Себестоимость номенклатуры» не заносятся. Т.е. если товары поступили(ают) в Магазин перемещением, отчёты в которых используется этот регистр корректно не формируются.

Разрабатывалась и тестировалась для Розницы 2.0 (2.0.8.11).

Управляемое приложение. Толстый/Тонкий клиент.

Устанавливать вручную себестоимость товаров для магазина при перемещении в него товара документом «Установка себестоимости» требует дополнительных трудозатрат.

Данная обработка списком за период подготавливает на основании Документа "Перемещение товаров" Документ "Установка себестоимости" от той же даты и времени.

Алгоритм работы:

  1. За указанный период выбираются документы "Перемещение товаров" со статусом «Проведен». (далее ДокПеремещения)

  2. За данный период выбираются документы "Установка себестоимости" со статусом проведён. (далее ДокСебестоимости)

  3. Если для документа ДокПеремещения НЕТ соответствующего ДокСебестоимости (анализ по полю комментарий, поэтому его изменять не рекомендуется) в списке у ДокПеремещения галочка не ставится.

  4. Если для документа ДокПеремещения ЕСТЬ соответствующий ДокСебестоимости, тогда ДокСебестоимости проверяется на корректность установленных цен и комплектность, и если изменений по ценам и комплектности нет, тогда у ДокПеремещения ставится галочка, если расхождения по ценам имеются, тогда галочка не ставится. (таким образом, при изменении цены на товары в документах поступления, для изменения ДокСебестоимости нужно обработать заново этот период).

  5. Если для ДокСебестоимости НЕТ соответствующего ДокПеремещения со статусом «Проведен», тогда ДокСебестоимости помечается на удаление.

  6. Про нажатии кнопки «Обработать» будут обработаны все ДокПеремещения не отмеченные галочкой:
    а) при отсутствии ДокСебестоимости он будет создан: Цена для товара берётся из регистра для магазина отправителя на дату документа.
    б) при изменении Цен или комплектности ДокСебестоимости будет откорректирован.

Скачать файлы

Наименование Файл Версия Размер
УстановкаСебестоимостиПриПеремещении.epf 22
.epf 12,55Kb
11.11.14
22
.epf 1.0 12,55Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Ivan Ermakov (ermakov_ivan) 15.10.15 00:32
Столкнулся с похожей проблемой, но уже в более свежем релизе Розницы - 2.1.9.11: позиции, пришедшие в магазин перемещением имеют нулевую себестоимость - не попадают в расчет при заполнении документа УстановкаСебестоимости.
Стал искать причину.
Обнаружил косяк: документ ПеремещениеТоваров делает проводки по регистру накопления СебестоимостьПоставкиТоваров, но в них заполняется только ресурс "Количество"!(((
В модуле менеджера документа ПеремещениеТоваров нашел запрос, который формирует таблицы для заполнения движений. В таблице ТаблицаСебестоимостьПоставкиТоваров в результате заполнены колонки количество и СуммаБаза, но не заполнена колонка Сумма. Исправил одну строку в запросе, перепровел перемещения - всё взлетело!
Итог: нужно в модуле менеджера Документа ПеремещениеТоваров в процедуре ИнициализироватьДанныеДокумента во втором запросе (большом) в самом последнем пакете (11-я таблица)
заменить строку:
| 0 КАК Сумма,
на
| ТаблицаТовары.Сумма КАК Сумма,
После этого желательно переперовести базу и перезаполнить документы УстановкаСебестоимости.

В качестве бонуса расскажу про еще один косяк, причину которого не смог обнаружить, но методом тыка решил проблему.
Некоторые позиции также не попадали в УстановкуСебестоимости, хотя поступили в магазин не перемещением, а именно ПоступлениемТоваров. Движения по регисту СебестоимостьПоставкиТоваров при этом сформированы корректно - и по количеству, и по сумме.
Формирование и расчет себестоимости в конфигурации реализован крайне запутанно, куча запросов в разных модулях, абсолютно нечитаемо! По крайней мере я не осилил разобраться и найти ошибку. Но нашел решение: один из документов ПоступлениеТоваров был проведен в самом начале месяца: 01.05.2015 00:00:00, изменил время на одну секунду и всё заработало)))
Видимо где-то в установке параметров виртуальных таблиц в запросе нужно включить границы периода...

P.S. розницу 2.0 впервые ставил еще летом 2011 - как была сырая с кучей ошибок, так всё и осталось!!!
2. Дмитрий Фаст (Dima_) 28.01.16 05:22
(1) ermakov_ivan, День добрый!
Скажите, а
| ТаблицаТовары.Сумма КАК Сумма,

какую сумму(цену) возьмёт?
Если цену поступления в магазин, тогда всё хорошо,
но судя по коду возьмётся сумма (цена) реализации магазина, и тогда получается, что данные по себестоимости будут не корректные.
На примере:
в магазин склад М1 поступил товар Т по 50 р. цену реализации установили 100 р. - наценка 50%
Этот товар переместили в магазин М2. Какая сумма (цена) в документе "Перемещение товаров" у Вас получится?
Если потом этот товар переместили из М2 в М3 или вернули . Какая сумма (цена) в документе?
Если М1 используется как склад и там цены реализации вообще не устанавливают? Какая сумма (цена) в документе?