Всем доброго времени суток.
Сегодня поработаем с функционалом, когда пользователь системы продает какой-то товар и он обязательно должен быть в наличии, то есть н должно быть ситуации, когда пользователь продал товар, а его нет в наличии.
Данный функционал будет разбит на два-три урока, в которых мы полностью рассмотрим все по порядку для большего понимания происходящего.
Для этого применяется функционал, который не дает продать больше определенного товара, чем его есть на складе.
Работать это будет следующим образом:
1. Пользователь выбрал товар.
2. Пользователь указал количество.
3. Пользователь нажимает кнопку "Провести и записать". Если товара хватает в наличии, то система разрешает проведение и отнимает это количество от существующего числа единиц товара. Если товара не хватает, то система не дает проводить документ и запрещает продажу, а так же выводит сообщение о том, что конкретного товара не хватает и сколько точно его не хватает.
Давайте приступим к выполнению этого функционала. Для работы нам необходимы объекты: документ "Приход товара", "Уход товара", регистр накопления "ОстатокТоваровНаСкладе".
Работа для проверки этого функционала должна происходить в следующем порядке:
1. Открыть документ "Приход товара" в пользовательском режиме и сделать приход какого-то товара, провести документ (Рисунок 1).
2. Открыть регистр накопления "ОстатокТоваровНаСкладе" и посмотреть, что там появился приход товара (Рисунок 2).
3. Зайти в документ "Уход товара", выбрать тот товар, который у вас только пришел и указать количество на единицу больше, чем в приходе и нажать кнопку "Провести и записать". В этот момент должно появиться сообщение о том, что в системе не хватает количества един данного товара (Рисунок 3).
Вывод сообщения о нехватке товара (Рисунок 4).
Работает следующим образом: если у вас 5 един какого-то товара и вы хотите провести больше, то система вам не даст этого сделать пока товара не придет больше или не поставите количество равное или меньшее тому, сколько у вас товара на самом деле.
Приступим к программированию данного функционала.
Откроем в режиме разработчика модуль объекта документа "Уход товара" (Рисунок 5).
Посмотрите на рисунок 5, открыт модуль объекта документа, в котором необходимо прописать программный код для того, чтобы происходила проверка остатков в системе. В этом модуле уже прописан код, но он был прописан автоматически для того, чтобы данные из документа записывались в систему. Этот код нем необходимо модифицировать.
Простое написание программного кода тут не подойдет, как как проверка остатка происходит в пользовательском режиме.
Нужно запомнить следующее: как только что-то нужно проверить в пользовательском режиме какие-то данные, так сразу нужно писать запросы.
Язык запросов 1С - это специальный инструмент, предназначенный только для чтения данных, самый простой и эффективный способ получения информации.
Приступим к модификации программного кода в модуле, а именно к созданию запроса, который будет делать проверку количества в системе.
Давайте сначала посмотрим на программный код, который уже есть в модуле объекта.
Весь этот программный код появился тут автоматически, когда мы работали с конструктором движений (Рисунок 6).
Важно первоначально обратить внимание на то, куда при проведении документа будут записываться данные. Для этого нужно обратить на строку сверху (Рисунок 7).
Данная строка говорит о том, что данные при проведении документа будут браться из регистра накопления, а это очень важно, так как в этот регистр данные записываются из документа "ПриходДенег". То есть получается так, что регистр содержит в себе запись с количеством прихода и потом сравнивает с тем, что вы хотите продавть и в зависимости от достатка или недостатка выдает или не выдает сообщение о не хватке товара в системе.
Следующее на что необходимо обратить внимание, это вот на эти строки (Рисунок 8).
Эти две строки говорят о том, что учет будет происходить по полю "Товар" и по полю "Количество".
На этом закончим, а на следующем уроке продолжим и разберем еще одну часть данного функционала.
На этом статья урока подходит к концу. Попробуйте выполнить все действия, которые описаны в этом уроке. Если что-то не получается, то вы всегда сможете написать вопрос о том, что вам непонятно или вернуться к предыдущим урокам и посмотреть их - ссылки внизу!
Всем спасибо.
Задать вопросы, которые у вас возникли вы можете, написав комментарий или вступить в группу и задать там свой вопрос, а так же можно на канале нажать кнопку "Написать сообщение".
Ссылка для вступления телеграм-канал - t.me.Apiscourses
Подписаться в группу ВКонтакте
Или написать на электронную почту - awesome.razrab@yandex.ru
Прошлые уроки:
Введение Урок 1 Урок 2 Урок 3 Урок 4 Урок 5 Урок 6 Урок 7 Урок 8 Урок 9 Урок 10 Урок 11 Урок 12 Урок 13 Урок 14 Урок 15 Урок 16 Урок 17 Урок 18 Урок 19 Урок 20 Урок 21 Урок 22 Урок 23 Урок 24 Урок 25 Урок 26 Урок 27 Урок 28 Урок 29 Урок 30 Урок 31 Урок 32 Урок 33 Урок 34 Урок 35 Урок 36 Урок 37 Урок 38 Урок 39 Урок 40 Урок 41 Урок 42 Урок 43 Урок 44 Урок 45 Урок 46 Урок 47 Урок 48 Урок 49
На этом все. Жду Вас на следующем занятии.
P.S. Подписывайтесь на мой канал :-)
программирование программирование 1с 1с предприятие обучение онлайн обучение 1с