Академический Документы
Профессиональный Документы
Культура Документы
1. Создание инфо-набора
2. Создание группы пользователей, присвоение ей инфо-набора
3. Создание запроса на базе инфо-набора.
Постановка задачи
Создание инфо-набора
Если на предыдущем экране выбран тот же пункт с ключевыми полями, то в группе полей
должны отображаться номер документа закупки и позиция. Если нет, то включите эти
поля (правой кнопкой мы по полю из таблицы и выбрать пункт «включить поле в группу
полей»), или исключите лишние.
Затем следует добавить оставшиеся поля, необходимые для нашего отчета. Для этого
следует нажать кнопку на панели инструментов «Дополнительная информация» (F5). Для
переключения в исходное положение следует нажать кнопку «Группы полей» (F6).
Правая часть полностью преобразилась. На первом экране расположены дополнительные
поля, таблицы, структуры и ссылки на код.
Создадим требуемые нам поля. Для этого необходимо нажать на кнопку «Создать»
(кнопка в виде белого листа). В открывшемся окне следует указать имя нового поля и
выбрать пункт «Дополнительное поле»
CLEAR BRTWR.
IF EKPO-LOEKZ IS INITIAL.
BRTWR = EKPO-NETPR / EKPO-PEINH * EKPO-KTMNG * ii_WKURS.
ELSE.
BRTWR = '0'.
ENDIF.
Определяем переменную для курса валюты, в которой ведется контракт. Затем получаем
ее значение.
Если позиций контракта не удалена, то стоимость равна произведения количества и цены,
с учетом количества единицы цены и курса валюты. Если контракт в валюте учета, то
система автоматически равна 1.
Если позиция удалена, то стоимость рана 0.
ORDER_BRTWR = '0'.
CLEAR c_BRTWR.
c_BRTWR = s_NETPR / s_PEINH * s_MENGE * i_WKURS.
ORDER_BRTWR = ORDER_BRTWR + c_BRTWR.
endselect.
Все аналогично с учетом того, что позиций заказов для одной позиции контракта может
быть несколько.
DMBTR = '0'.
F_DMBTR = '0'.
Сумма для счетов-фактур рассчитывается аналогично поступлению. При этом для счетов-
фактур следует учитывать такие операции как доп. дебетование и доп. кредитование.
Далее следует перейти во вкладку «Критерии выбора». Там мы создадим поле «Номер
контракта» и признак «только позиции с превышением».
При создании следует учитывать, что «Критерий выбора» — это поле, по которому
выполняется ограничение, а «Параметр» — это некий признак, которому следует задать
некий функционал.
Создадим критерий выбора «Номер контракта».
Обратите внимание на то, что параметр в поле «ДопИнфо» содержит текст «AS
CHECKBOX» для того, чтобы отобразиться в качестве чекбокса.
Для критериев выбора «Номер контракта» каких то дополнительных настроек не
требуется. Отчет будет ограничиваться по полю, указанному в настройках. Для параметра
же внесем ограничения в формируемый отчет. Для этого перейдем на вкладку
«Кодировки» и выберем фрагмент кодировки «5 Обработка записей».
и добавив код:
CHECK EKPO-BSTYP = 'K'.
IF Z_ONLY = 'X'.
CHECK BRTWR < DMBTR.
ENDIF.
Этим кодом мы ограничиваем вывод только тех записей, для которых BRTWR < DMBTR,
т.е. стоимость позиции контракта меньше стоимости поступлений. Так же мы
ограничиваем записи по типу «Контракт».
Обратите внимание, что на момент проверок данные поля должны быть рассчитаны.
Именно по этой причине для данной проверки последовательный номер был указан
равным 10 (любой номер, превышающий номера предыдущих полей).
Перейдите по меню «Среда» -> «Группы пользователей» с первого экрана ведения инфо-
набора.
Создание запроса
Проверяем, что работаем с группой пользователей, созданной ранее. (см. название группы
в верхней части экрана). Если нет, нажимаем кнопку «Другая группа пользователей» (Shift
+ F7) и выбираем нужную группу.
Вводим имя «Z_SUPPLY» и нажимаем кнопку «Создать». Система выведет список инфо-
наборов, привязанных к данной группе пользователей. Выбираем наш инфо-набор и
подтверждаем ввод.
На экране основного списка в левой части расположены поля, которые можно добавить в
отчет. В левой нижней части отображены свойства выделенного элемента, а основная
часть — это графическое представление будущего отчета.
Раскроем список полей слева и отметим поля, которые должны попасть в отчет. Поля
добавляются в том порядке, в котором мы их отмечаем. В дальнейшем порядок можно
изменить, перетащив поле на нужное место в графическом блоке.