19.02.2021 |
Выполнение :: Сборник лабораторных работ для студентов учебных заведений, изучающих программирование в системе 1… |
После нажатия кнопки «ОК» нужно настроить стандартный параметр «Период» для корректного учета последней секунды дня:
во-первых, этот параметр должен быть недоступен пользователю, так как носит вычислительный характер;
во-вторых, для корректного расчета требуется написать выражение для стандартного параметра «Период»:
ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(&ДатаОтчета, "ДЕНЬ"),"СЕКУНДА",1)
Сначала берется последний момент дня, указанного в параметре «ДатаОтчета», а затем прибавляется еще одна секунда, чтобы учитывались даже документы, проведенные за эту последнюю секунду.
Последняя подзадача, связанная с отчетом, – настроить его внешний вид. Переходим на вкладку
«Настройки» и воспользуемся конструктором настроек отчета.
https://its.1c.ru/db/content/publab82021/src/text/59.html#_print |
11/20 |
19.02.2021 |
Выполнение :: Сборник лабораторных работ для студентов учебных заведений, изучающих программирование в системе 1… |
После выбора нужных полей нажмите на кнопку «ОК».
Чтобы у пользователя была возможность выбирать требуемый день, вам нужно включить параметр «ДатаОтчета» в пользовательские настройки. Это можно сделать в нижней части вкладки «Настройки».
https://its.1c.ru/db/content/publab82021/src/text/59.html#_print |
12/20 |
19.02.2021 |
Выполнение :: Сборник лабораторных работ для студентов учебных заведений, изучающих программирование в системе 1… |
Проверьте работоспособность системы, заполнив тестовыми данными справочник, документы «ЗакупкаТоваров» и «ПродажаТоваров», а также построив отчет.
Чтобы в дальнейшем убедиться в корректности вывода информации о документах, проведенных в конце дня, создавайте документы за предыдущие числа. Это необходимо, поскольку созданные вами документы имеют оперативный режим проведения.
Для наглядности постройте отчет до проведения документа «ПродажаТоваров» и после.
Если в документе «Продажа товаров» указать количество больше, чем имеется на складе, то будут получены отрицательные остатки.
https://its.1c.ru/db/content/publab82021/src/text/59.html#_print |
13/20 |
19.02.2021 |
Выполнение :: Сборник лабораторных работ для студентов учебных заведений, изучающих программирование в системе 1… |
Контроль отрицательных остатков является заключительным и самым важным этапом выполнения
данной работы.
Проверять остатки товаров будем следующим образом:
1.Сделаем движение данных из документа в регистр накопления.
2.Проверим, появились ли в регистре остатки, значение которых меньше нуля (то есть отрицательные).
3.Если есть отрицательные остатки, то отменим сделанное движение в регистр накопления и выведем пользователю сообщение об ошибке.
Контроль отрицательных остатков должен происходить в момент проведения документа «ПродажаТоваров». Откроем модуль объекта данного документа.
Чтобы сделать движение данных из документа в регистр накопления, допишем после окончания цикла строку «Движения.Записать();». Метод записывает только те движения документа, у которых установлен флаг «Записывать», при этом флаг в итоге снимается, что не приводит к повторной записи движений по окончании транзакции проведения.
И главное, «Движения.Записать();» всегда записывают движения в том порядке, в котором таблицы указаны в дереве метаданных, что на порядок уменьшает шансы взаимных блокировок, ведь все транзакции в одинаковом порядке блокируют таблицы.
https://its.1c.ru/db/content/publab82021/src/text/59.html#_print |
14/20 |
19.02.2021 |
Выполнение :: Сборник лабораторных работ для студентов учебных заведений, изучающих программирование в системе 1… |
Теперь, когда движение было сделано, можно обратиться к данным регистра накопления.
Чтобы это сделать, воспользуемся конструктором запроса с обработкой результата. Этот конструктор можно открыть из контекстного меню, открывающегося щелчком правой кнопки мыши по области модуля. Данный конструктор обязательно должен быть вызван внутри процедуры «ОбработкаПроведения».
Соглашаемся с созданием нового запроса. Открывается окно конструктора запроса с обработкой результата. Переходим на вкладку «Таблицы и поля».
Открывшееся окно имеет три части:
https://its.1c.ru/db/content/publab82021/src/text/59.html#_print |
15/20 |