Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 дек 2024, 21:40

Проверка остатков

Автор ef0din, 03 дек 2019, 12:37

0 Пользователей и 1 гость просматривают эту тему.

ef0din

Добрый день!
Такая ситуация: нужен некий документ по списанию остатков(по сути, при утере условного груза). Деятельность: доставка. Сейчас по такому принципу работа идет: 1 доставка - 1 элемент справочника условной номенклатуры. Остатки ведутся в 3х регистрах: для складов, для товаров к получению при перемещении и на сотруднике ,который непосредственно доставляет. Соответственно остаток в одновременно лишь в одном из этих регистров может быть.

При проведении этого некого документа проверяю получается нужно проверять остатки по всем трем и списывать оттуда, где они "есть в наличии".
Обычно проверку делаю одним из двух принятых методов: либо в запросе проверяю остаток, группирую "итоги" и далее выборкой по циклу выдаю ошибку, где нехватка. Либо провожу, а потом проверяю ,что получилось.

Но тут: на регистре по перемещению есть еще измерение откуда идет перемещение. И оно получается нужно, ибо далее, если списывать по нему - то нужно и измерение это устанавливать в движении и с него списывать. По регистру с сотрудником, соответственно, есть разрез сотрудник, который по аналогии нужен.
Вообщем, думал как итоги верно настроить, что б и сотрудник был и склад/офис отправитель, что б, при этом данные верно считать, т.е. выводить сумму остатков по трем регистрам верно и сравнивать с количеством к списанию, но пока не придумал.

В итоге пока на тестовой сделал так: пакетный запрос: 1. Остатки по первому регистру, 2. Остатки по второму регистру 3. Остатки по третьему.
Далее в разрезе "номенклатура" списываю количество с первого, далее со второго, а потом с третьего (по тому количеству остатков, что там есть). Если условное "КоличествоКСписанию" остается после этого больше нуля - выдаю сообщение и отказ.

Документ задумывается для учета потерь груза - потому размер таблиц значений из запроса не должен быть проблемой. Однако, кажется мне, что должно быть другое, более верное решение. Потому прошу более опытных форумчан подсказать: как будет реализовать проверку "более правильно".

Спасибо!

Смотрящий

Конфа какая ? Или самопис ?

ef0din

Самописная. Переделал: итоги в запросе, выборка. Но остатки в "нижнем" уровне итогов в тз складываю, а тз очищаю в цикле по "преднижнему" уровню, что б не задваивать перед обходом и добавлением в "нижнем". А далее после цикла выборки в разрезе конкретной "номенклатуры" проверяю и списываю по этой тз. Далее, проверяю и, если КоличествоКСписанию > 0 - Отказ и сообщение об этом. Вообщем пока так решил.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск