10 июня 2014 в 21:44:53
(10 лет 28 недель 2 дня 18 часов назад)
6000
V8.x Управление торговлей
23.04.2014 12:18:22
Текст задания
ТЗ п.5 Обработка для склада
Конфигурация УТ 11 (нужно использовать последнюю версию на дату изготовления обработки).
Создать обработку для склада по формированию отгрузки.
Описание: В обработке кладовщик выбирает заказ, который планирует отрабатывать. При выборе заказа (открывается список заказов) видят проведенные заказы со статусом к отгрузке. Когда заказ выбран табличная часть заполняется товаром из заказа (код, артикул, номенклатура, отгружено, заказано, едИзм, отклонение (заказано – отгружено, отрицательное с минусом и красным), картинка «ручная сборка»). Товар в табличной части группируется по номенклатуре (две и более строк, с одинаковой номенклатурой недопустимо) без учета склада из заказа. Не обеспеченные строки для сборки не попадают (в заказе, в табличной части есть реквизит Обеспечение = «Со склада»). Далее, прежде чем начать работать (табличная часть не доступна для редактирования) кладовщик должен поставить галочку «Сборка начата» (галочку разместить правее реквизита «выбранный заказ»), после галочки, заказ покупателя блокируется для каких либо изменений (думаю что в заказе тоже должен быть реквизит (на форму не выносим) «Сборка начата», который не позволяет изменять собираемый и собранный заказ (не зависимо от ролей, которые присвоены пользователю) . Табличная часть в обработке становиться доступной для редактирования (редактируется только колонка «отгружено»). Кладовщик данную колонку проставляет либо с помощью сканера (сканирует штрих код, строка, которую нашли по штрих коду становится активна в колонке «отгружено» и цифра данной колонки = «отгружено» +1.), либо с помощью кнопки F7 (ввод штрих кода руками – отрабатывает так же как и штрих код сканером), либо поиск номенклатуры (по выделенной колонки начинает набирать символы, они попадают в поиск по табличной части). Если колонка «отгружено» заполнялась руками, то картинка «ручная сборка» становится видима, если только со штрих кода, то не видима.
В подвале обработки есть поле ввода количество мест (проставляется кладовщиком вручную) – данный реквизит нужно добавить в документ реализацию (на форму не выносим)
После сборки, кладовщик нажимает на кнопку «создать документ». Обработка проверяет наличие отклонения между заказано и отгружено. Отгружать больше чем в заказе запрещено! Выводим информационное сообщение со списком отклонений (указываем номер строки с отклонением, номенклатуру). Анализируем каждую строку, т.к. суммарно может все сходится (пересорт не допустим). Если отгружаем меньше (по каждой строке или меньше или равно), чем в заказе, то кладовщику вопрос и выбор да/нет. Отгружать меньше чем в заказе можно.
Если проверка отклонений прошла успешно - Обработка будет создавать Документы: Реализация и расходные ордера. По логике программы документ реализация должен быть создан первым (он может отгружать товар с нескольких складов), и быть основанием для расходных ордеров. А расходный ордер делается на каждый склад отдельно. Данные документы заполняем по факту сборки, если есть отклонения между собрано и заказано, то заполняем в первую очередь ордер по приоритетному складу (нужно создать настройку в программе «приоритетность списания по складам»). Расходная накладная получает статус «отгружено». Комментарий «Сформирован автоматически + дата и время(окончания сборки)».
Особенность работы обработки: в процессе заполнения табличного поля «Отгружено», программа может быть аварийно закрыта (в основном пропадает электричество, а доделать заявку не успевают) или нужно собрать другой заказ, то данные которые успел внести кладовщик не должны пропадать. Кладовщик в поле заказ, может выбрать другой заказ, и табличная часть заполняется данными другого заказа, потом кладовщик может вернуться к ранее собираемому заказу, табличная часть заполняется теми данными которые были на момент выключения или на момент выбора другого заказа. (в УНФ я делал, что после редактирования каждой цифры данные сохранялись в отдельный регистр по сборке заказа, просто перезаписывая всю таблицу, без сравнения изменения, при выборе заказа, если в регистре есть данные по заказу, они заполнялись из регистра (колонка собрано) а номенклатура и заказано заполняется из заказа, т.к. заказ за время может быть изменен).