(1) Пишите код так, как будто объекты расширения есть. В режиме предприятия все будет работать.
Если в слепую писать сложно, то можете сделать обработку в расширении, а потом выгрузить ее во внешнюю.
3.
dhurricane
03.04.19 09:40 Сейчас в теме+0.25 $m
(1) Ну обратиться к регистру сведений во время исполнения у обработки получится (при условии, что расширение подключено). Просто регистр не видно именно в конфигураторе, не работает подсказка.
Я в таком случае часто не заморачиваюсь. Если хочется использовать конструктор запроса, просто описываю данные регистра как временную таблицу, а затем подменяю имя временной таблицы на полный путь к регистру.
(1) Пишите код так, как будто объекты расширения есть. В режиме предприятия все будет работать.
Если в слепую писать сложно, то можете сделать обработку в расширении, а потом выгрузить ее во внешнюю.
3.
dhurricane
03.04.19 09:40 Сейчас в теме+0.25 $m
(1) Ну обратиться к регистру сведений во время исполнения у обработки получится (при условии, что расширение подключено). Просто регистр не видно именно в конфигураторе, не работает подсказка.
Я в таком случае часто не заморачиваюсь. Если хочется использовать конструктор запроса, просто описываю данные регистра как временную таблицу, а затем подменяю имя временной таблицы на полный путь к регистру.
просто описываю данные регистра как временную таблицу, а затем подменяю имя временной таблицы на полный путь к регистру.
А как быть с виртуальными таблицами? Можно пример?
"ВЫБРАТЬ
| МАКСИМУМ(КМО_ДанныеМедицинскихКнижекСрезПоследних.Период) КАК Период,
| КМО_ДанныеМедицинскихКнижекСрезПоследних.ФизическоеЛицо КАК ФизическоеЛицо
|ПОМЕСТИТЬ ВТ_МаксПериод
|ИЗ
| РегистрСведений.КМО_ДанныеМедицинскихКнижек.СрезПоследних(&ДатаСреза, ) КАК КМО_ДанныеМедицинскихКнижекСрезПоследних
|
|СГРУППИРОВАТЬ ПО
| КМО_ДанныеМедицинскихКнижекСрезПоследних.ФизическоеЛицо
|;
Можно либо писать интуитивно, зная что все объекты есть.
Либо просто на стадии разработки сделайте не внешнюю обработку, а добавьте её в расширение, тогда объекты расширения будут доступны.
А после разработки сохранить как внешнюю или оставить в расширение.
Если нужен только конструктор запросов, тоже просто, запрос можно написать через конструктор в самом расширение, а потом просто скопировать код в обработку.
НоменклатураПроданная - справочник созданный в расширении, со своими реквизитами. В него вносятся данные. есть внешняя обработка - запускается через "файл-открыть". Как добавить поле в форму этой внешней обработки с типом справочника созданного в расширении?
(10)
(12) Как добавить поле в форму этой внешней обработки с типом справочника созданного в расширении? Как создать/загрузить внешнюю обработку я знал до комментария, но спасибо, может кому-то будет помощь
(12) При сохранении обработки во внешнюю обработку, захожу в неё и в поле со ссылкой на справочник из расширения и вместо ссылки на этот справочник появляется просто строка (т.е. тип строка). Получается что ссылка на справочник из из расширения заменяется строкой, вообщем, этот способ не работает к сожалению
(11) Добавить на форму реквизит с типом "Произвольный".
У соотв. элемента формы снять галку "ВыбиратьТип".
При открытии формы присваивать пустую ссылку.
Если Не ЗначениеЗаполнено(ЭтаФорма.МойДокумент) Тогда
ЭтаФорма.МойДокумент = ПредопределенноеЗначение("Документ.Расш_МойДокумент.ПустаяСсылка");
КонецЕсли;
Если нужно автосохранять значение, то его можно восстанавливать в событии формы ПередЗагрузкойДанныхИзНастроекНаСервере
1)Все необходимое временно втащить в расширение все необходимое для обработки,
2)сделать эту обработку в расширении
3)сохранить как внешнюю обработку.
и да для того что бы ее поправить придется снова все втащить в расширение.
Очень неудобный случае если нужны объекты из разных расширений
СКД разрабатывал в "Консоль СКД", потом сохранял в файл, загружал в обработку в конфигураторе.
По аналогии с разработкой Запроса в "Консоли запросов".
Думал, что это универсальное решение. И нормально получалось. При загрузке СКД из сохраненной в файл выгрузке СКД Конфигуратор ругался, но СКД загружалась, внешнюю обработку можно было сохранить.
Но столкнулся с последствиями "выскакивающего предупреждения", ведь загрузка файла прекращалась.
Оказалось, что соскакивает на закладке Ресурсы настройка "Рассчитывать по ..."
В результате нет возможности правильно рассчитывать остатки, именно они требуют указания по каким измерениям следует делать расчет остатков.
Поэтому для возможности разработки придется отчет делать в расширении, а не во внешнем отчете. Согласен с (14)
(16) Недавно делал схему и все остальное программно для СКД. но сформировать его программно тот ещё геморрой. но если не хочется тягать в расширение то вариант. тем более запрос тогда можно в консоле запросов редактировать. находил на инфостарте где-то статью где подробно разобрано как СКД програмно формировать.
Главное, не забудь указать типы каждому полю... по крайней мере у меня без этого была беда
(19) Да, и там не все очевидно, т.е. не все интуитивно-понятно. Не помешала бы видео-демонстрация.
Но очень упрощает разработку отчетов на основе СКД. Даже без использования данных расширений.
А как быть с типами данных, например у меня во внешней обработке есть реквизит с типом ссылка на справочник расширения. Но я не могу его выбрать в свойствах, так как его при выборе нет