Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1с8_Задачник.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
25.2 Mб
Скачать

Фрагм. 11 Документ кблюдо форма ввода (4 процедуры)

Рассмотрим процедуру «кблколичествоПриизменении» (Фрагм. 12 Документ кблюдо форма ввода (Процедура кблколичствоПриИзменении)). Ранее это уже встречалось. Новое в ней только подсчет «Себблюда» (оператор «себблюда=кбл.итог(«Сумма»)»

Фрагм. 12 Документ кблюдо форма ввода (Процедура кблколичствоПриИзменении)

Рассмотрим Процедуру формирующую среднюю цену на основе регистра накопления (Фрагм. 13 Документ кблюдо форма ввода (Процедура кблпродуктПриИзменении)). Одновременно –это иллюстрация того как работать с регистрами помимо языка запросов. Оператор «мпз=регистрынакопления.рбост» определяет переменную идентифицирующую регистр( это вопрос удобства, иначе везде таскай правую часть оператора).

Следущий оператор «табост…» -это определение метода получения именно остатков . В качестве параметров- очевидное указание измерений («номен»)и ресурсов. Далее цикл по перебору записей регистра с фильтрацией по продукту в момент выбора которого произошел вызов процедуры.

Фрагм. 13 Документ кблюдо форма ввода (Процедура кблпродуктПриИзменении)

Следующая процедура (Фрагм. 14 Документ кблюдо форма ввода (Процедура кбл1продуктПриИзменении)) также определяет среднюю цену, но с помощью механизма запросов к бухгалтерскому регистру регбух. Текст запроса похож как и в 1С-7 и после рассмотрения отчетов должен быть понятен.

Фрагм. 14 Документ кблюдо форма ввода (Процедура кбл1продуктПриИзменении)

Эта программа , в сущности написана безобразно , так как будет работать только в единственном случае , а именно если только к единственному счету в качестве субконто1 прикреплена номенклатура. Правильно, внести в текст дополнительные фильтры , например по счету. В моем тексте, оператор «регбухОстатки.счет» просто лишний. Повод призадуматься.

Предопределенная процедура «послеудаления» пересчитывает заново себблюдо (Фрагм. 15 Документ кблюдо форма ввода (Процедура кблПослеУдаления)).

Фрагм. 15 Документ кблюдо форма ввода (Процедура кблПослеУдаления)

На (Фрагм. 16 Свойство кбл Количество Поле Ввода) показано подключение процедуры расчета цены при изменении количества.

Фрагм. 16 Свойство кбл Количество Поле Ввода

Документ Выпбл(выпуск блюд) –обычный фиксатор информации без каких-либо особенностей. Ниже приводится серия рисунков (Рис. 142 Документ выпбл (Закладка Данные)), не требующих комментариев, относящихся к этому документу.

Рис. 142 Документ выпбл (Закладка Данные)

Создадим документ Меню. По сути задачи , требуется набрать конкретное меню из блюд этого дня. Из этого следует, что надо на документе меню вывести все блюда дня и обеспечивать возможность копирования выбранного блюда в документ. Состав реквизитов документа меню-очевиден (Рис. 143 Документ Меню (Закладка Данные)).

Рис. 143 Документ Меню (Закладка Данные)

Нюанс. На форму документа внедрим Таблицу Значений и кнопку «Заполнить» (Рис. 145 Документ меню Форма документа с ТЗ и кнопкой Заполнить) , с которой свяжем процедуру вывода в ТЗ всего перечня блюд из документов «кблюдо» этого дня.

Рис. 144 Вставка элемента управления

Рис. 145 Документ меню Форма документа с ТЗ и кнопкой Заполнить

С самой ТЗ в свойствах с событием «Выбор» свяжем процедуру «ТзВыбор»(Рис. 146 Свойства табличного поля) , которая обеспечит копирование конкретного блюда.

Рис. 146 Свойства табличного поля

Рассмотрим обе процедуры (Фрагм. 17 Процедуры тзвыбора и заполнить ТЗ).