19.02.2021 |
Выполнение :: Сборник лабораторных работ для студентов учебных заведений, изучающих программирование в системе 1… |
Часть слева отображает все объекты конфигурации, имеющиеся в нашей базе данных. Нужно
выбрать лишь те объекты, из которых мы хотим получать данные.
Посередине находятся таблицы – это выбранные нами объекты, откуда мы хотим получать данные для конкретного запроса.
Справа поля – это те значения (поля), которые мы хотим получить.
Данные будем брать не из регистра накопления напрямую, а из виртуальной таблицы, которую создает этот регистр автоматически. Данная виртуальная таблица способна обработать основную таблицу и самостоятельно посчитать остатки товаров.
Чтобы перенести данные из одного окна в другое, просто перетащите нужные поля с помощью мыши либо воспользуйтесь стрелочками, расположенными между окнами.
В результате данное окно должно быть заполнено следующим образом:
Переходим на вкладку «Условие» и добавим новое условие. Пусть в запрос попадут только данные с отрицательными остатками.
По окончании работы с данным конструктором нажимаем на кнопку «ОК». Конструктор выдаст предупреждение об ошибке, которое нужно проигнорировать. Для корректной работы запроса следует удалить знак амперсанта (&) перед нулем в условии. Запрос должен выглядеть следующим образом:
С помощью данного запроса из базы данных можно получить отрицательные остатки по всем товарам. Но нам нет необходимости получать такую большую выборку, нужно сузить запрос до перечня товаров, перечисленных в табличной части.
Откроем конструктор запроса. Для этого следует щелкнуть в любом месте самого запроса (черный текст в двойных кавычках) правой кнопкой мыши и вызвать конструктор запроса.
https://its.1c.ru/db/content/publab82021/src/text/59.html#_print |
16/20 |
19.02.2021 |
Выполнение :: Сборник лабораторных работ для студентов учебных заведений, изучающих программирование в системе 1… |
Далее нужно наложить условия на виртуальную таблицу регистра накопления.
https://its.1c.ru/db/content/publab82021/src/text/59.html#_print |
17/20 |
19.02.2021 |
Выполнение :: Сборник лабораторных работ для студентов учебных заведений, изучающих программирование в системе 1… |
Данное условие поможет ограничить запрос по тем товарам, которые находятся в табличной части документа.
Нажимаем на кнопку «ОК». Текст запроса изменился:
Мы добавили параметры. Теперь запрос будет проводить поиск только по конкретному списку товаров. Осталось лишь указать эти товары сразу после текста запроса. Так же необходимо добавить параметр «Дата».
Ну, и последний шаг – выдать сообщение пользователю, если запрос вернул отрицательные остатки. В первую очередь, добавим блок условия:
Внутрь цикла можно попасть только в том случае, если запрос пришел не пустой, то есть если были найдены отрицательные остатки. В таком случае нужно отменить проведение документа и выдать пользователю сообщение:
Код процедуры полностью должен выглядеть следующим образом:
https://its.1c.ru/db/content/publab82021/src/text/59.html#_print |
18/20 |
19.02.2021 |
Выполнение :: Сборник лабораторных работ для студентов учебных заведений, изучающих программирование в системе 1… |
Теперь проверьте корректность работы системы на предмет наличия ошибок при попытке продать товара больше, чем его имеется в наличии.
Как видно из сообщения, товара не хватает ровно в том количестве, которое раньше выводилось в отчете со знаком «-» (минус).
Если изменить количество на меньшее, то механизм будет работать корректно.
https://its.1c.ru/db/content/publab82021/src/text/59.html#_print |
19/20 |
19.02.2021 |
Выполнение :: Сборник лабораторных работ для студентов учебных заведений, изучающих программирование в системе 1… |
Также отчет будет учитывать документы, проведенные в конце дня.
Поставленная задача решена.
https://its.1c.ru/db/content/publab82021/src/text/59.html#_print |
20/20 |