Как обращаться к добавленным реквизитам в расширении

1. user761098 17.10.18 09:07 Сейчас в теме
Добрый день.
Делаю расширение для БП (3.0.65.80), платформа 8.3.12.1529.
Добавляю в расширение собственный справочник с реквизитами, в документе вывожу реквизит справочника на форму документа.
В консоле запросов хочу отобрать документы по этому реквизиту, но в параметрах он не дает выбрать данные из справочника.
Подскажите, пожалуйста, что не так делаю?
По теме из базы знаний
Найденные решения
11. nyam-nyam 09.11.18 11:20 Сейчас в теме
(1)Вот ответ службы поддержки 1С: "Проблема связана с тем, что типы привносимые расширениями не входят в обобщенные типы ЛюбаяСсылка и т.п.. На текущий момент это запланированное ограничение механизма расширений. "
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
11. nyam-nyam 09.11.18 11:20 Сейчас в теме
(1)Вот ответ службы поддержки 1С: "Проблема связана с тем, что типы привносимые расширениями не входят в обобщенные типы ЛюбаяСсылка и т.п.. На текущий момент это запланированное ограничение механизма расширений. "
2. nyam-nyam 17.10.18 09:14 Сейчас в теме
Всё что вы добавили в расширение видно только из этого расширения. Добавляйте документ в расширение и модифицируйте его там.
3. user761098 17.10.18 09:31 Сейчас в теме
(2) Добавляла реквизит на форму документа в расширении.
На скрине если написать простой запрос к справочнику из расширения, то в параметрах он не дает выбрать ссылку на элемент справочника.
Прикрепленные файлы:
5. nyam-nyam 17.10.18 10:24 Сейчас в теме
(3)У меня консоль запросов вообще не видит документы и справочники из расширения, по крайней мере их нет в списках выбора. Видимо Консоль запросов ещё не готова для этого. :)
6. Дмитрий74Чел 239 17.10.18 10:42 Сейчас в теме
(5) даже если запустить консоль из модуля объекта из расширения (в конфигураторе)?
7. nyam-nyam 17.10.18 10:56 Сейчас в теме
(6)Не, в конфигураторе Конструктор запросов запущенный из объекта расширения всё видит. Но вопрос то был про внешнюю обработку как я понял. Т.е. топикстартеру видимо придётся самой писать запрос в расширении.
8. nyam-nyam 17.10.18 10:57 Сейчас в теме
(6)КонструкторЗапроса, который используется в консоли запросов, запущенный из объекта расширения тоже не видит объектов расширения. Увы.
10. nyam-nyam 17.10.18 11:26 Сейчас в теме
(8)Был не прав, и Консоль запросов и КонструкторЗапроса видят объекты расширения, просто они в конце списка, а я туда не промотал. :) Но выбрать значение параметра действительно не получается.
9. spacecraft 17.10.18 10:59 Сейчас в теме
(3) могу порекомендовать https://infostart.ru/public/335504/
Там это работает.
4. VmvLer 17.10.18 09:36 Сейчас в теме
если платформа 8.0, то никак

может дело в подсистемах, в любом случае необходимо читать документацию к расширениям на платформе в которой вы работаете
и не особо надеяться, что самые новые возможности будут работать стабильно
12. Swetlana 27 30.01.19 12:30 Сейчас в теме
Объясните, не поняла момент. Добавила в расширение свой объект конфигурации -регистр сведений
Во внешней обработке я не вижу этого регистра при создании запроса.
Это сейчас невозможно?
Только начала изучать расширения
acvatoris; +1 Ответить
13. German007 28 09.02.19 22:46 Сейчас в теме
(12)
У меня такая же ситуация. Я тоже в конструкторе запроса не вижу свой добавленный регистр. Но при этом я внучную написал запрос. И этот запрос отработал. То есть видимо только конструктор не видит добавленные регистры, но при этом к ним можно обратиться программно.
14. Westbound 06.06.19 14:39 Сейчас в теме
(13) То же самое. Но если новый регистр в расширении отрабатывает во внешней обработке, то общий модуль уже нет, непонятно.
15. KEV8383 20 06.11.19 16:13 Сейчас в теме
(14) Для использования общего модуля - его необходимо добавить в расширение. И использовать директивы.

Доработка модулей в расширении
Чтобы доработать модуль конфигурации, нужно добавить его в расширение. Заимствовать отдельно сам модуль нужно только в том случае, если вы хотите добавить туда собственную процедуру или функцию.

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

Поведение платформы в случаях, когда расширяется метод из модуля формы и когда расширяется метод из любого другого модуля, различается.

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

Разработчику предлагается выбрать аннотацию для расширения метода (Перед, После или Вместо). При этом если в модуле уже существуют расширения данного метода, то имена использованных для этого аннотаций выделяются полужирным шрифтом с пометкой «уже создан».
Если выбран способ расширения метода, уже существующий в расширении, то выполняется переход к этому методу. При этом возможна корректировка объявления метода, если оно стало отличаться от расширяемого метода.
Если выбран несуществующий способ расширения, то в расширении будет создан новый метод, который будет предваряться соответствующей аннотацией.
При этом надо учитывать:
что для функций недоступны аннотации Перед и После;
для процедуры недоступны:
аннотация Вместо, если уже существуют методы с аннотациями Перед или После;
аннотация Перед/После, если уже существует метод с аннотацией Вместо.
При расширении методов из модулей форм происходит следующее:

Если расширяемый метод является обработчиком одного события или одной команды, то предлагается выбрать, каким образом выполнить расширение данного метода: как расширение для обработчика события/команды или как расширение обычного метода с аннотацией.
Если расширяемый метод является обработчиком для нескольких событий или команд, то будет сформировано предупреждение о том, что данный метод не может быть расширен как обработчик события/команды и он будет расширен только как обычный метод. Затем будет предложено выбрать способ расширения метода.
Для обычного метода, не являющего обработчиком какого-либо события, будет выполнено расширение метода с использованием аннотаций.
Следует учитывать, что если расширяемый метод обрамлен инструкциями препроцессора, то эти инструкции не будут перенесены в расширение.

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

В процессе работы часто требуется перейти к расширяемому методу непосредственно из расширения. Для этого нужно просто поместить курсор на имя расширяемого метода в аннотации, а затем выполнить команду контекстного меню Перейти к определению.
Рамзес; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот