Найти тему

09.07.2021. 1С Розница 2.3: контроль остатков только по алкоголю.

с сайта Zen.yandex.ru
с сайта Zen.yandex.ru

Сегодня 09 июля 2021 года 14 часов 00 минут. Пятница. +31
Всем доброго дня!

Как обычно, возникла острая необходимость (кровь из носа, шоб вчера було) контролировать остатки при продаже не всей продукции, а только из папки "АЛКОГОЛЬ". Привязка к папке идет потому, что там может быть не только алкоголь, но и другие виды продукции, остатки которых надо контролировать при продаже.

Партия сказала НАДО! - Комсомол ответил ЕСТЬ!

Ну что же, будем реализовывать.

Исследования конфигурации показали, что в 1С Розница 2.3 (2.3.8.27) процесс контроля остатков осуществляется в общем модуле "РозничныеПродажиСервер", процедура "ПроверитьНаличиеТоваровИСерийныхСертификатов".

Реализацию желательно сделать при помощи расширения.

В начале процедуры есть проверка

Если НЕ КонтролироватьОстаткиТоваровПриЗакрытииЧека Тогда
Возврат;
КонецЕсли;

Нас она не устраивает. Получается мы не сможем использовать тэг "после".

Придется перетаскивать всю процедуру в расширение с тэгом "вместо".

Кроме этого, в конструкцию:

Для каждого СтрокаТаблицы Из ТаблицаПоОтрицательнымОстаткам Цикл
...
КонецЦикла;

Необходимо включить условие проверки из папки "АЛКОГОЛЬ"

Придется делать запрос из ТаблицаПоОтрицательнымОстаткам с отбором по вхождению в группу "АЛКОГОЛЬ" до цикла.

Чтобы не отрубить проверку всех остатков мы комментируем условие в начале процедуры, а в условие "без проверки остатков" вкручиваем наш код с алкоголем.

Что получилось. В начале процедуры:

авторский скриншот
авторский скриншот

Перед циклом проверки:

авторский скриншот
авторский скриншот

После цикла проверки:

авторский скриншот
авторский скриншот

17 часов 05 минут

Расширение готово, надо бы оттестировать.

При тестировании ошибка:

Содержимое объекта данных может быть выбрано только во временную таблицу

ок, поместим во временную таблицу

авторский скриншот
авторский скриншот

18 часов 03 минуты

Тесты показали работоспособность модуля расширения. Можно внедрять.

Канал "Дневник программиста 1С"