Сборник лабораторных работ для студентов учебных заведений, изучающих программирование в системе С: Предприятие


Склад В (&МассивСкладов) И Товар В (&МассивТоваров)



бет53/58
Дата18.10.2023
өлшемі437,92 Kb.
#118294
түріСборник
1   ...   50   51   52   53   54   55   56   57   58
Байланысты:
Сборник лабораторных работ для студентов учебных заведений, изуч-emirsaba.org

Склад В (&МассивСкладов) И Товар В (&МассивТоваров)

Нажмите на кнопку «ОК».

Данное условие поможет ограничить запрос по складам и товарам, которые указаны в табличной части документа.
Нажимаем на кнопку «ОК». Текст запроса изменился:

Мы добавили параметры. Теперь запрос будет проводить поиск только по конкретному складу и конкретному списку товаров. Осталось лишь указать этот склад и эти товары сразу после текста запроса.

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

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

Код процедуры полностью должен выглядеть следующим образом:

Переходим в режим «1С:Предприятие».


Если у вас уже имеются документы «ПродажаТоваров», отмените их проведение. Для этого нажмите по документу в списке правой кнопкой мыши и выберите «Отменить проведение». Сделайте это для всех документов.

Проведите документы заново. Добавьте новый документ «Продажа товаров» так, чтобы хотя бы одного из вида товаров не хватало на одном из складов.


Если все было сделано правильно, и вы пытаетесь продать товаров больше, чем имеется на складе, то система выдаст ошибку:


«Нужно построить отчет по остаткам товаров».
Построим отчет. Для этого воспользуемся соответствующим объектом конфигурации.
Определение
Отчет – это такой объект конфигурации, который формирует данные в понятном для пользователя виде, например, в виде таблицы или диаграммы (подробнее про отчеты можно прочитать здесь: https://v8.1c.ru/platforma/otchet/).
Добавим отчет «ОтчетПоОстаткамТоваров». Воспользуемся схемой компоновки данных.

Добавим новый запрос к базе данных.

Для формирования запроса воспользуемся конструктором запроса.

Открывается конструктор запроса. Эта вкладка имеет три части:


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


  • Посередине находятся таблицы – это выбранные нами объекты, откуда мы хотим получать данные для конкретного отчета.


  • Справа поля – это те значения (поля), которые мы хотим увидеть в отчете.


Данные будем брать не из регистра накопления напрямую, а из виртуальной таблицы, которую создает этот регистр автоматически. Данная виртуальная таблица позволит получить уже просуммированные значения по всем документам.


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

Закрываем конструктор запроса, нажав на кнопку «ОК». Сформировался запрос.

Теперь система понимает, какие данные ей нужны для формирования отчета.
Переходим на вкладку «Ресурсы» и устанавливаем реквизит «КоличествоОстаток» в качестве ресурса: это позволит нам в отчете получать итоговые (просуммированные) значения.

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

Чтобы у пользователя была возможность выбирать только даты, без указания секунд, нужно настроить формат редактирования параметра «ДатаОтчета».

После нажатия кнопки «ОК» нужно настроить стандартный параметр «Период» для корректного учета последней секунды дня:

  • во-первых, этот параметр должен быть недоступен пользователю, так как носит вычислительный характер;


  • во-вторых, для корректного расчета требуется написать выражение для стандартного параметра «Период»:






Достарыңызбен бөлісу:
1   ...   50   51   52   53   54   55   56   57   58




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет