Для активности кнопки конструктор ввода на основании в окне редактирования объекта конфигурации
День добрый!
Платформа 8.3.14.1694
Конфигурация основанная на рознице 2.2 "Магазин бытовой техники и средств связи" (релиз 2.2.11.30).
Помогите пожалуйста разобраться с "Ввод на основании".
Создаю расширение конфигурации(дополнение), добавляю документы, в разделе ввод на основании настраиваю все что нужно и в конфигураторе на форме появляется кнопка "ввод на основании", запускаю предприятие этой кнопки нет. Все что знал или о чем мог догадаться посмотрел, но нигде ничего не нашел, что влияло бы на видимость этой кнопки.
Пробовал создавать документы в основной конфигурации, там все работает как надо - кнопка на форме появляется. Значит, не работает только в расширении, но не могу понять почему, может кто-то сталкивался уже?
Пробовал использовать автоматически создаваемую форму и форму, которую создавал сам - кнопки нет.
Подскажите, куда еще копнуть, какими еще инструментами или функциями инструментов воспользоваться, чтобы понять, почему она так себя ведет.
//25.04.19
Изучил документацию по расширениям 1с, выяснил, что если в расширении нет собственных ролей доступа, то все из основной конфигурации имеют полный доступ к объектам расширения - убрал роль из расширения - ничего не изменилось. Еще есть там интересная информация о недоступности различных типов и возникает вопрос, может быть используется один из этих типов, для реализации этого функционала.
Привожу список:
При расширении данных следует помнить о следующих особенностях и ограничениях:
● В расширении не поддерживается использование типа ЛюбаяСсылка. Тип ЛюбаяСсылка, использованный в расширяемой конфигурации, не включает в себя типы, предоставленные расширениями.
● В расширении конфигурации не поддерживается использование заимствованных определяемых типов.
Покопался с отладчиком и выяснил, что сама кнопка на форме есть, только она почему-то не содержит подчиненных элементов и по всей видимости поэтому платформа считает, что она не нужна. Осталось разобраться почему наш документ туда не попадает.
В программном решении, одни объекты могут вводиться на основании других, при этом значения полей совпадающего типа данных прямо наследуются от исходного объекта, либо могут быть вычислены по заданному алгоритму:
Наследование полей задается конфигурально, в конструкторе ввода на основании, для того объекта, который и будет вводиться на основании:
Конструктор ввода на основании подсказывает, какие поля могут наследоваться прямо (они отмечены зелеными галочками, и автоподставляются по кнопке Заполнить выражения). Также в конструкторе можно прописать иные выражения заполнения:
При необходимости код можно доработать вручную. Но важно понимать. что если потом к конструктору обратиться еще раз, то ручные изменения затрутся. Поэтому прямо в коде содержится предупреждение об этом. И также при попытке открыть конструктор после генерации программного кода платформа выдаст такое предупреждение (причем безотносительно того, редактировался ли на самом деле код или нет):
Вопрос 03.32 экзамена 1С:Профессионал по платформе. Для активности кнопки "Конструктор ввода на основании" в окне редактирования объекта конфигурации …
- Обязательно заполнение поля "Вводится на основании"
- Обязательно заполнение поля "Является основанием для"
- Обязательно заполнение полей "Является основанием для" и "Вводится на основании"
Вопрос 04.09 экзамена 1С:Профессионал по платформе. Назовите инструмент визуального создания алгоритма заполнения объекта "на основании" и основное место его вызова?
- Конструктор ввода на основании. Основное место вызова через окно редактирования объекта, закладка "Ввод на основании", кнопка "Конструктор ввода на основании"
- Конструктор ввода на основании. Основное место вызова через главное меню "Конструкторы" / "Ввод на основании. "
- Мастер ввода на основании. Основное место вызова через окно редактирования объекта, закладка "Ввод на основании", кнопка "Мастер ввода на основании"
- Конструктор ввода на основании. Основное место вызова через окно редактирования объекта, закладка "Данные", кнопка "Конструктор ввода на основании"
Вопрос 04.10 экзамена 1С:Профессионал по платформе. Назовите основное назначение конструктора ввода документа "на основании":
- Конструктор ввода на основании облегчает задачу разработки процедуры, с помощью которой будет формироваться новый объект при вводе "на основании"
- Конструктор ввода документа "на основании" в системе отсутствует
- Конструктор ввода на основании облегчает задачу формирования движений в регистрах учета "на основании" данных документа
- Конструктор ввода на основании облегчает задачу разработки структуры другого документа "на основании" структуры "документа-основания"
Вопрос 04.11 экзамена 1С:Профессионал по платформе. Можно ли формулу заполнения поля "Состав.Цена" задать произвольным выражением?
- Да, можно, правильность написания формулы конструктор не проверяет
- Нет, нельзя, формулу можно заполнить только значениями, выделенными "галочками" в списке "Реквизиты объекта основания"
- Да, можно, но конструктор проверит правильность написания формул согласно списку "Реквизиты объекта основания"
- Нет, нельзя, формулу можно заполнить только значениями из списка "Реквизиты объекта основания"
Вопрос 04.12 экзамена 1С:Профессионал по платформе. Если процедура с именем "ОбработкаЗаполнения" уже определена в модуле документа, то возможно ли в этом случае использование конструктора ввода основании?
- Да, но при этом система попросит подтверждение на полное замещение уже существующей процедуры "ОбработкаЗаполнения" новой процедурой
- Нет, сначала надо вручную удалить "старую" обработку заполнения, а только потом вызывать конструктор
- Да, но система при этом, безусловно, удалит "старую" обработку заполнения
- Да, система закомментирует "старую" обработку заполнения и создаст "новую"
Вопрос 04.13 экзамена 1С:Профессионал по платформе. Какое предназначение имеет выделение "галочками" элементов списка "Реквизиты объекта основания"?
Кастомные реквизиты объекта могут быть добавлены как из формы самого объекта, так и из дерева конфигурации:
Вопрос 03.15 экзамена 1С:Профессионал по платформе. Для редактирования свойств основных объектов конфигурации, управления составом подчиненных объектов и настройки взаимодействия объектов друг с другом.
- Предназначено окно "Конфигурация"
- Предназначено окно редактирования объекта конфигурации
- Предназначено окно "Палитра свойств"
- Предназначено окно "Дополнительно"
Вопрос 03.16 экзамена 1С:Профессионал по платформе. В окне редактирования объекта конфигурации - справочник "Контрагенты" на закладке "Формы" свойство "Ввод по строке" может быть заполнено.
- Только кодом и наименованием справочника
- Кодом, наименованием, или другими строковыми или числовыми реквизитами, у которых свойство "Индексировать" имеет значение "Индексирование" или "Индексирование с доп. упорядочиванием"
- Кодом, наименованием, или другими реквизитами, у которых свойство "Индексировать" имеет значение "Индексирование" или "Индексирование с доп. упорядочиванием"
- Любыми реквизитами, с любым типом и значением индексирования
Правильный ответ второй. По умолчанию, ввод по строке доступен для ИНН, Наименования, и можно включить сюда КПП:
Вопрос 03.17 экзамена 1С:Профессионал по платформе. Для объекта конфигурации есть возможность выбирать способ редактирования ("в диалоге", "в списке", "обоими способами)" и выбора ("из формы", "быстрый выбор", "обоими способами").
- В окне редактирования объектов
- В палитре свойств
- В палитре дополнительно
- В дереве метаданных
- Верно 1 и 2
Вопрос 03.18 экзамена 1С:Профессионал по платформе. Для каких объектов конфигурации есть возможность выбирать способ редактирования ("в диалоге", "в списке", "обоими способами)" и выбора ("из формы", "быстрый выбор", "обоими способами").
- Для справочников
- Для документов
- Для планов видов характеристик, планов счетов, планов видов расчетов, планов обмена
- Верно 1 и 3
- Для всех
Правильный ответ четвертый, обратимся к синтаксис-помощнику. Документов среди объектов, которым присуще свойство Способ редактирования, нет:
Вопрос 03.19 экзамена 1С:Профессионал по платформе. Редактирование свойств в окне редактирования объекта конфигурации.
- Должно производиться последовательно, с переходами по разделам посредством кнопки "Далее"
- Проводится в произвольном порядке
- Рекомендуется проводить в последовательности следования разделов, поскольку часть свойств разделов, расположенных ниже, определяются свойствами, расположенными выше. Но, в принципе, - может редактироваться в произвольной последовательности
- Не производится, поскольку окно имеет вспомогательные функции
Вопрос 03.20 экзамена 1С:Профессионал по платформе. При достижении последней закладки в окне редактирования объекта конфигурации …
Вопрос 03.21 экзамена 1С:Профессионал по платформе. При нажатии на кнопку "Далее" в окне редактирования объекта на закладке, предшествующей не активной закладке, действие системы будет следующим:
Вопрос 04.30 экзамена 1С:Профессионал по платформе. Как можно вызвать конструктор форм объектов конфигурации?
- Из окна редактирования объекта конфигурации, закладка "Форма", при создании новой формы
- При помощи контекстного меню из окна "Конфигурация"
- Никак. Конструктор форм является составной частью конструктора выходных форм
- Верно 1 и 2
Правильный ответ четвертый - конструктор вызывается либо при создании новой формы объекта, либо при создании новой общей формы из окна Конфигурация.
Вопрос 04.31 экзамена 1С:Профессионал по платформе. При создании формы конструктором формы был установлен флажок "Назначить форму основной". После сохранения этой формы можно ли будет назначить основной другую форму?
- Нет, пока не будет удалена текущая основная форма
- Нет ни при каких условиях
- Можно, предварительно сняв флаг "Основная" в свойствах формы, бывшей основной ранее
- Можно в окне редактирования объекта конфигурации
Новая ФормаЭлемента3 прописалась в поле Основная форма объекта конфигурации безо всяких дополнительных действий. При необходимости ее можно заменить на другую тут:
Вопрос 04.32 экзамена 1С:Профессионал по платформе. При создании формы конструктором формы количество размещаемых на форме командных панелей.
- не ограничено
- не более двух
- всегда - две (верхняя и нижняя)
Вопрос 04.33 экзамена 1С:Профессионал по платформе. После нажатия на кнопку "Далее", в соответствии с рисунком, на второй закладке конструктора общих форм можно будет:
- Определить состав констант и связанных с ними элементов управления, размещаемых на форме
- Определить состав констант, некоторых свойств глобального контекста и связанных с ними элементов управления, размещаемых на форме
- Определить состав некоторых свойств глобального контекста и связанных с ними элементов управления, размещаемых на форме
- Список реквизитов и связанных с ними элементов управления будет пуст (без возможности добавления)
Вопрос 04.34 экзамена 1С:Профессионал по платформе. Конструктор формы списка справочника на закладке "Далее".
- всегда позволяет разместить на форме и дерево групп и список элементов
- всегда позволяет разместить на диалоге список элементов и, кроме того, для иерархических справочников с иерархией групп и элементов, - дерево групп
- для иерархических справочников состав размещаемых элементов определяется видом иерархии справочника
Вопрос 04.35 экзамена 1С:Профессионал по платформе. Конструктор формы списка иерархического справочника при указании размещения дерева...
- сразу позволяет выбрать просмотр групп и элементов
- не позволяет выбрать просмотр групп и элементов. Это можно сделать позже - при работе с формой из конфигуратора
- не позволяет выбрать просмотр групп и элементов. Это можно сделать позже - при работе с формой из пользовательского режима
Вопрос 04.36 экзамена 1С:Профессионал по платформе. Можно ли в конструкторе формы элемента справочника на втором шаге (кнопка "Далее") указать размещение табличного поля, содержащего данные подчиненного справочника?
- Нет, такие действия нужно выполнять уже при работе с формой
- Да, при любых условиях
- Да, если текущий справочник является владельцем только для одного справочника
Правильный ответ первый. Например, справочнику Физические лица подчинен справочник Банковские счета, но в составе таблиц его нет, т.к. это отдельная сущность:
Вопрос 04.37 экзамена 1С:Профессионал по платформе. Можно ли в конструкторе формы документа на втором шаге (кнопка "Далее") указать размещение табличного поля, содержащего данные документа, на основании которого введен данный документ?
- Нет, такие действия нужно выполнять уже при работе с формой
- Да, при любых условиях
- Да, только если данный документ является владельцем только для одного документа
Правильный ответ первый, такой таблицы не будет доступно из конструктора, т.к. это отдельная сущность.
Вопрос 04.38 экзамена 1С:Профессионал по платформе. Можно ли в конструкторе формы документа на втором шаге (кнопка "Далее") указать размещение табличного поля, содержащего данные регистра, для которого данный документ может являться регистратором?
- Нет, такие действия выполняются уже при работе с формой
- Да, при любых условиях
- Да, только если документ может иметь движения только по одному регистру
Правильный ответ второй (но на самом деле - только для обычных форм). Движения являются неотъемлемой частью документа, поэтому могут быть отражены на форме:
Вопрос 04.39 экзамена 1С:Профессионал по платформе. В конструкторе формы документа при необходимости нестандартного размещения элементов управления.
- можно указать необходимость размещения на форме всех или только некоторых элементов управления, соответствующих составу подчиненных объектов
- можно указать требуемый вид элементов управления, соответствующих составу подчиненных объектов
- верно все вышеперечисленное
Вопрос 04.40 экзамена 1С:Профессионал по платформе. У документа уже определены все основные формы. При создании новой формы в конструкторе выставляют следующие флажки (см. рисунок). Что произойдет после того, как форма будет создана?
- Форма2 будет назначена основной формой документа
- Форма2 будет назначена основной формой списка документа
- Ничего, поскольку основные формы уже назначены
- Ничего, поскольку не выставлен флажок "Основная форма списка и выбора"
11 комментариев:
Стоит заметить, что на данный момент 1С не заносит табличные поля в колонки (вопрос 4.28), а располагает их ниже. Если табличных полей больше одного, то для каждого создаётся страница.
Другими словами, настройка "Располагать элементы управления в . колонку(и)" не действует на табличные поля, они всегда располагаются на всю ширину формы (страницы).
"Вопрос 04.32 экзамена 1С:Профессионал по платформе. При создании формы конструктором формы количество размещаемых на форме командных панелей.
1.не ограничено
2.не более двух
3.всегда - две (верхняя и нижняя)
Вот опять. Почему мне нужно запоминать не правильный вариант? Почему 1С не исправляет эту ошибку? Понимаю, что не здесь это решают. Просто крик души. Не может ли так случиться, что в какой то момент они исправят ошибку?
Даааа жалко что приходиться запоминать некоторые ответы типа "но на самом деле", это не первый и не последний вопрос экзамена такой =(
возможно в 4.32 имеется в виду, что на форме могут быть еще командные панели табличной части, например, а табличных частей может быть много
Именно так! Ведь никакого противоречия не наблюдается. И напротив, все логично и лаконично )
Конструктор создает столько командных панелей, сколько размещает табличных полей, плюс командные панели формы (1 для УФ и 2 для ОФ).
Вопрос 04.39 - ответ 3 так как, для управляемых и обычных форм можно указывать нужно ли выводить элемент на форму или нет. А для обычных форм в конструкторе формы можно также указать из списка и вид управления формы (поле ввода, поле выбора и тд).
По 4.38 хотел бы прояснить "но на самом деле - только для обычных форм". Так вот.
Термин "Табличное поле" используется сугубо в контексте ОФ. В контексте УФ этот элемент уже носит название "Таблица формы". Исходя из этого мы видим, что вопрос относится к конструктору именно обычной формы.
А раз так) то все встает на свои места и ответ на вопрос становится очевидным.
Вопрос 04.39 В конструкторе формы документа при необходимости нестандартного размещения элементов управления.
1. можно указать необходимость размещения на форме всех или только некоторых элементов управления, соответствующих составу подчиненных объектов. Верно, в левой части конструктора форм мы птичками можем выбрать все реквизиты в или только некоторые.
2. можно указать требуемый вид элементов управления, соответствующих составу подчиненных объектов. Верно в правой части конструктора формы мы можем указать тип элемента формы ( поле ввода, переключатель, надпись и т. д.)
Ага, Вводит в блуд 2 вещи, во первых не указано в вопросе что форма неуправляемая, во вторых за каким-то хреном написано "всех или только некоторых элементов управления, соответствующих составу подчиненных объектов", сама формулировка крайне крючкотворская и неинтуитивная, как будто тут речь об иерархии, или подчинении объектов ИБ, а по факту просто о реквизитах и табличных частях документа и их отражении на форме.
Конструктор ввода на основании предназначен для визуальной настройки правил заполнения реквизитов одного объекта на основе данных других объектов (возможно, даже другого типа). Результатом работы конструктора является создание предопределенной процедуры ОбработкаЗаполнения() в модуле заполняемого объекта. Конструктор ввода на основании работает только для объектов метаданных ссылочного типа (т.е. тех, что генерируют ссылки: справочники, документы, планы видов характеристик и т.п.).
Конструктор можно вызвать двумя способами:
Внимание! Конструктор доступен только для тех объектов метаданных, для которых указаны объекты-основания
Описание конструктора
Сам конструктор состоит из одной единственной формы с тремя табличными полями и набором кнопок:
Поле А — список объектов, которые являются основаниями для текущего объекта;
Поле Б — список реквизитов выделенного объекта основания, доступных для выбора;
Поле В — список реквизитов шапки и табличных частей текущего объекта, доступных для заполнения;
При выделении объекта-основания в поле А происходит изменение списка реквизитов в поле Б. Поля Б и В также взаимосвязаны: в списке реквизитов (поле Б) отображаются только те реквизиты, которые подходят для выбора в качестве заполнителя для выделенного реквизита в поле В (по имени, типу или являются ссылкой). Галочкой в поле Б помечаются те реквизиты объекта-основания, которые имеют тот же тип, что и реквизит, выделенный в поле В.
Кнопка «Заполнить выражения» производит автоматическое заполнение реквизитов текущего объекта по совпадению типа. Для тех реквизитов в поле В, где конструктор не увидел совпадений, поля останутся пустыми.
Кнопка «Очистить выражения» — очищает любые изменения.
Кнопка «ОК» завершает работу конструктора с сохранением изменений.
Кнопка «Отмена» завершает работу конструктора без сохранения изменений.
Примечательно то, что в значения в поле В можно вводить и вручную. Однако, конструктор не проверяет синтаксическую верность введенных формул. Кроме того, автоматическое заполнение не всегда работает верно.
Внимание! Проверяйте соответствие реквизитов не только по типу, но и по имени. Может получиться так, что конструктор для поля Сумма укажет Количество и наоборот.
Результатом работы конструктора будет процедура ОбработкаЗаполнения() в модуле текущего объекта. Обратите внимание, что в процедуре присутствуют служебные комментарии конструктора. Таким образом конструктор отделяет свои изменения от кода, введенного вручную:
Внимание! Если впервые вызываете конструктор, а процедура ОбработкаЗаполнения() уже есть в модуле объекта и содержит код, то по окончании работы конструктора она будет полностью замещена. Все изменения, внесенные вручную будут утеряны!
Смотреть на Youtube
Читайте также: