Найти в Дзене
1С: Программирование

Урок 51. Проверка остатка товаров, вывод сообщения о недостатке товара (Часть 2)

Всем привет.

Продолжаем подготавливать платформу для того, чтобы она могла автоматически смотреть остатки и выдавать нужное сообщение.

На прошлом уроке мы выбрали документ и посмотрели из чего состоит его программный код в модуле объекта. Сегодня мы начнем писать запрос, а на следующем занятии закончим и проверим работоспособность.

Давайте первоначально проверим документ "Уход товара", нам важно в нем то, чтобы у него в движениях был выбран только регистр накопления "ОстатокТоваровНаСкладе", а все остальные регистры должны быть сняты, иначе не получится сделать и разбор этого задания займет гораздо больше времени.

Откроем документ и перейдем на вкладку движения (Рисунок 1).

Рисунок 1 - Уход товара
Рисунок 1 - Уход товара

Теперь нажмите кнопку "Конструктор движений" и у вас должно быть в точности так же (Рисунок 2).

Рисунок 2 - Конструктор движений
Рисунок 2 - Конструктор движений

Теперь перейдем в модуль этого объекта и код должен быть таким (Рисунок 3).

Рисунок 3 - Модуль объекта
Рисунок 3 - Модуль объекта

Теперь после "КонецЦикла;" поставить нужно курсор и нажать "Enter"

Теперь на новой строке начнем писать запрос, который поможет нам отбирать необходимую информацию. Начинается писаться запрос с объявления запроса строкой, в конце которой точка с запятой: "ЗапросОстатков = Новый Запрос;". Первое слово "ЗапросОстатков" - это обяъвление переменной, которой мы присваиваем запрос.

Потом необходимо вызвать менеджер, который будет управлять временными таблицами и вызывается он так: ЗапросОстатков.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;. как и в предыдущем случае, мы переменой присваиваем менеджер. Принято переменную называть так, как то, к чему вы ее хотите приравнять.

После нескольких строк программный код в модуле выглядит следующим образом (Рисунок 4).

Рисунок 4 - Программный код
Рисунок 4 - Программный код

Пишем дальше и следующая строка у нас такая: ЗапросОстатков.Текст =

"".

И в этом случае, если после переменной вы сразу поставите точку, то платформа вам выдаст меню, из которого можно выбрать необходимое разработчику. Нам нужно выбрать текст, так как мы будем писать текст запроса (Рисунок 5).

Рисунок 5 - Выбор меню текста
Рисунок 5 - Выбор меню текста

Теперь код у нас выглядит следующим образом (рисунок 6).

Рисунок 6 - Программный код запроса
Рисунок 6 - Программный код запроса

Две верхние кавычки нужны для текста самого запроса, между ними необходимо поставить курсор и нажать правой кнопкой мыши, чтобы выбрать дополнительное меню (Рисунок 7).

Рисунок 7 - Выбор конструктора запроса
Рисунок 7 - Выбор конструктора запроса

Выбираем конструктор запроса и в новом окне нажимаем да (Рисунок 8).

Рисунок 8 - Создание запроса
Рисунок 8 - Создание запроса

В открывшемся окне нужно поработать с данными, из которых мы хотим получать информацию - таким данными являются два документа и один регистр накопления. Когда товар приходит, то данные о приходе записываются в регистр накопления "ОстатокТоваровНаСкладе", поэтому именно из него нам и нужно получать данные.

В новом окне в среднюю колонку перетащим регистра накопления вида "ОстатокТоваровНаСкладе.Остатки" (Рисунок 9).

Рисунок 9 - Перемещение в таблицу
Рисунок 9 - Перемещение в таблицу

Теперь необходим выбрать поля, по которым будет происходить отбор и это поля: "Товар" и "Количество" (Рисунок 10) и нажмите "Ок".

Рисунок 10 - Выбор полей
Рисунок 10 - Выбор полей

В итоге у вас получится такой запрос, он выделен черным цветом и находится между двумя двойными кавычками (Рисунок 11).

Рисунок 11 - Текст запроса
Рисунок 11 - Текст запроса

Теперь необходимо понять то, как будет происходить отбор. Мы знаем, что если количества меньше, чем пользователь хочет его продать, то должно выдаваться сообщение и блокироваться списание товара. Значит из этого следует, что если количества меньше чем 0, то есть уходит в минус, то не должно списываться ничего - это и есть отбор, осталось его теперь записать в конструкторе или дописать вручную программный (Рисунок 12).

Рисунок 12 - Условие
Рисунок 12 - Условие

В результате получится такой программный код на конец этого урока (Рисунок 13).

Рисунок 13 - Программный код
Рисунок 13 - Программный код

Теперь нажмите F7 и проверьте на синтаксические ошибки, ошибок не должно быть (Рисунок 14).

Рисунок 14 - Проверка на синтаксические ошибки
Рисунок 14 - Проверка на синтаксические ошибки

На этом закончим, а небольшой программный код допишем в следующем последнем уроке по этой теме.

На этом статья урока подходит к концу. Попробуйте выполнить все действия, которые описаны в этом уроке. Если что-то не получается, то вы всегда сможете написать вопрос о том, что вам непонятно или вернуться к предыдущим урокам и посмотреть их - ссылки внизу!

Всем спасибо.

Задать вопросы, которые у вас возникли вы можете, написав комментарий или вступить в группу и задать там свой вопрос, а так же можно на канале нажать кнопку "Написать сообщение".

Ссылка для вступления телеграм-канал - 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 Урок 50

На этом все. Жду Вас на следующем занятии.

P.S. Подписывайтесь на мой канал :-)

программирование программирование 1с 1с предприятие обучение онлайн обучение 1с