Задача :
Исключить ошибки при закрытии месяца, в виде отрицательных остатков товара. Отрицательные остатки товара возникают из-за того, что товар продается с ндс со складов ЕНВД и наоборот в розницу со складов с НДС
Решение :
Схема работы:
- При проведении реализации проверяем наличие в тч Товары складов с применением ЕНВД (рег свр ПримененияЕНВД), при наличии таких строк пишем реализацию в регистр сведений (итмс_ДокументыКОбработке_НДС_ЕНВД)
- При запуске обработки итмс_ПеремещениеТоваров_НДС_ЕНВД:
- Обработка оптовых документов (реализаций). Используем массив ПеремещенияКПроведению, массив РеализацииКпроведению, массив ЗаказыКПроведению
- Подготовка перемещений с розничных складов на служебный оптовый склад (Служебный склад НДС).
- Схема запроса 1: Результат выборка данных (склад, номенклатура, количество) с итогами по складу
- Пройдем циклом по выборке и создадим перемещения с заполнением тч и записью ссылок на созданные документы в массив ПеремещенияКПроведению
- Обработка Реализаций и связанных ЗаказовКлиентов
- Схема запроса 2: Результат выборка данных (Реализация,НомерСтроки, Товар, Склад, ЗаказКлиента) Итоги по реализация
- Пройдем циклом по выборке:
- Реализация в массив РеализацииКпроведению,
- Отменить проведение реализации
- Цикл по ТЧ Товары Реализации
- Заказ в Массив ЗаказыКПроведению
- Найти строку в ТЧ Товары по номеру,
- Функция НайтиСтрокуВЗаказеИЗаменитьСклад(стр,заказ)
- Док = Заказ.ПолучитьОбъект()
- Док.ОбменДанными.Загрузка = Истина;
- Заказ.Товары найти (номенклатура, количество, ВариантОбеспечения = Перечисления.ВариантыОбеспечения.Отгрузить, склад = Склад или склад = шапка слад)
- Заменить склад на Служебный склад НДС
- Док.Записать();
- Стр склад = Служебный склад НДС
- Проведение документов
- Отменяем проведение цикл по массиву ЗаказыКПроведению
- Проводим перемещения - цикл по массиву ПеремещенияКпроведению
- Проводим Заказы по массиву ЗаказыКПроведению
- Проводим реализации по массиву РеализацииКПроведению.
Схема запроса 1 1. "СкладыЕНВД". Получим список складов ЕНВД из регистра сведений ПрименениеЕНВД. Поля: Склад 2. "ДокументыКОбработке". Получим список реализаций для обработки из регистра сведений итмс_ДокументыКОбработке_НДС_ЕНВД условие Обработан = Ложь. Поля: Документ 3. Из ТЧ Товары РеализацииТоваровУслуг. Выборка данных Условия: 1. Ссылка в Реализации 2. Склад в СкладыЕНВД Поля: Номенклатура, Склад, Количество. Группировка: Номенклатура, Склад, Сумма (Количество). Итоги: Склад
Схема запроса 2 1. "СкладыЕНВД". Получим список складов ЕНВД из регистра сведений ПрименениеЕНВД. Поля: Склад 2. "ДокументыКОбработке".Получим список реализаций для обработки из регистра сведений итмс_ДокументыКОбработке_НДС_ЕНВД условие Обработан = Ложь. Поля: Документ 3. Из ТЧ Товары РеализацииТоваровУслуг. Выборка данных Условия: 1. Ссылка в Реализации 2. Склад в СкладыЕНВД Поля: Реализация, НомерСтроки, Номенклатура, Склад, ЗаказКлиента. Порядок: Реализация.Дата Возрастание. Итоги: Реализация
Новые метаданные:
- подсистема итмс_ПеремещениеНДС_ЕНВД (в итмс_ДополнительныйФункционал)
- рег. свр итмс_НастройкиПеремещенияНДС_ЕНВД
- Измерения ()
- Ресурсы (Организация,СлужебныйСкладНДС,СлужебныйСкладЕНВД)
- рег. свр итмс_ДокументыКОбработке_НДС_ЕНВД
- Измерения( Организация (тип спр.Организации) Документ (тип РеализацияТоваровУслуг, ЧекККМ);
- Ресурсы (Обработан (тип булево))
- обработка итмс_ПеремещениеТоваров_НДС_ЕНВД