Внешняя обработка и Расширение

1. login1020 138 03.04.19 09:36 Сейчас в теме
Возникла необходимость регламентным заданием записывать значение в РС, созданный в расширении.
Делаю регламентное задание внешней обработкой, по примеру из БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному.
Но из внешней обработки не видно расширения.

Есть возможность из внешней подключенной обработки обратится к Расширению?

Или как по другому организовать регламентное задание, по добавлению записей в РС из Расширения?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
2. t.v.s. 113 03.04.19 09:39 Сейчас в теме +0.25 $m
(1) Пишите код так, как будто объекты расширения есть. В режиме предприятия все будет работать.
Если в слепую писать сложно, то можете сделать обработку в расширении, а потом выгрузить ее во внешнюю.
NicolasCage; AndreySchel; user1878860; DesertPunk; Rega; Elvira_Saydasheva; login1020; +7 Ответить
3. dhurricane 03.04.19 09:40 Сейчас в теме +0.25 $m
(1) Ну обратиться к регистру сведений во время исполнения у обработки получится (при условии, что расширение подключено). Просто регистр не видно именно в конфигураторе, не работает подсказка.

Я в таком случае часто не заморачиваюсь. Если хочется использовать конструктор запроса, просто описываю данные регистра как временную таблицу, а затем подменяю имя временной таблицы на полный путь к регистру.
user1878860; Elvira_Saydasheva; login1020; +3 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. t.v.s. 113 03.04.19 09:39 Сейчас в теме +0.25 $m
(1) Пишите код так, как будто объекты расширения есть. В режиме предприятия все будет работать.
Если в слепую писать сложно, то можете сделать обработку в расширении, а потом выгрузить ее во внешнюю.
NicolasCage; AndreySchel; user1878860; DesertPunk; Rega; Elvira_Saydasheva; login1020; +7 Ответить
4. VmvLer 03.04.19 09:48 Сейчас в теме
3. dhurricane 03.04.19 09:40 Сейчас в теме +0.25 $m
(1) Ну обратиться к регистру сведений во время исполнения у обработки получится (при условии, что расширение подключено). Просто регистр не видно именно в конфигураторе, не работает подсказка.

Я в таком случае часто не заморачиваюсь. Если хочется использовать конструктор запроса, просто описываю данные регистра как временную таблицу, а затем подменяю имя временной таблицы на полный путь к регистру.
user1878860; Elvira_Saydasheva; login1020; +3 Ответить
5. login1020 138 03.04.19 10:15 Сейчас в теме
(3)
просто описываю данные регистра как временную таблицу, а затем подменяю имя временной таблицы на полный путь к регистру.


А как быть с виртуальными таблицами? Можно пример?

	"ВЫБРАТЬ
	|	МАКСИМУМ(КМО_ДанныеМедицинскихКнижекСрезПоследних.Период) КАК Период,
	|	КМО_ДанныеМедицинскихКнижекСрезПоследних.ФизическоеЛицо КАК ФизическоеЛицо
	|ПОМЕСТИТЬ ВТ_МаксПериод
	|ИЗ
	|	РегистрСведений.КМО_ДанныеМедицинскихКнижек.СрезПоследних(&ДатаСреза, ) КАК КМО_ДанныеМедицинскихКнижекСрезПоследних
	|
	|СГРУППИРОВАТЬ ПО
	|	КМО_ДанныеМедицинскихКнижекСрезПоследних.ФизическоеЛицо
	|;
Показать
6. dhurricane 03.04.19 10:19 Сейчас в теме
(5) Что-то вроде такого:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
    |    МАКСИМУМ(КМО_ДанныеМедицинскихКнижекСрезПоследних.Период) КАК Период,
    |    КМО_ДанныеМедицинскихКнижекСрезПоследних.ФизическоеЛицо КАК ФизическоеЛицо
    |ПОМЕСТИТЬ ВТ_МаксПериод
    |ИЗ
    |    ВтМойРегистр КАК КМО_ДанныеМедицинскихКнижекСрезПоследних
    |
    |СГРУППИРОВАТЬ ПО
    |    КМО_ДанныеМедицинскихКнижекСрезПоследних.ФизическоеЛицо
    |;"

Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВтМойРегистр", "РегистрСведений.КМО_ДанныеМедицинскихКнижек.СрезПоследних(&ДатаСреза, )");
Показать
login1020; +1 Ответить
7. oleg-x 27 03.04.19 10:45 Сейчас в теме
Можно либо писать интуитивно, зная что все объекты есть.
Либо просто на стадии разработки сделайте не внешнюю обработку, а добавьте её в расширение, тогда объекты расширения будут доступны.
А после разработки сохранить как внешнюю или оставить в расширение.
8. oleg-x 27 03.04.19 10:46 Сейчас в теме
Если нужен только конструктор запросов, тоже просто, запрос можно написать через конструктор в самом расширение, а потом просто скопировать код в обработку.
9. user1135816 4 21.05.20 09:22 Сейчас в теме
Подскажите сталкивался кто-нибудь с тем, чтобы использовать во внешней обработке ссылку на справочник созданный(не добавленный) в расширении?
manlak; Ditron; +2 Ответить
10. CepeLLlka 75 11.07.20 06:16 Сейчас в теме
(9)Вариант из (7) должен сработать.. попробуйте.
11. user1135816 4 13.07.20 08:38 Сейчас в теме
НоменклатураПроданная - справочник созданный в расширении, со своими реквизитами. В него вносятся данные. есть внешняя обработка - запускается через "файл-открыть". Как добавить поле в форму этой внешней обработки с типом справочника созданного в расширении?
(10)
12. CepeLLlka 75 13.07.20 13:43 Сейчас в теме
(11)В расширении, раздел "Обработки" - щёлкаем правой кнопкой мыши, выбираем - "Добавить", делаете вашу обработку, на форму сможете добавить ваш справочник.

Затем точно так-же щёлкаете на вашу обработку правой кнопкой мыши и выбираем - "Сохранить как внешнюю обработку"

Тоже самое написано в (7).
13. user1135816 4 14.07.20 12:14 Сейчас в теме
(12) Как добавить поле в форму этой внешней обработки с типом справочника созданного в расширении? Как создать/загрузить внешнюю обработку я знал до комментария, но спасибо, может кому-то будет помощь
Teut_Vlad; Kesak; Mallok; +3 Ответить
15. SmIIt 02.04.22 08:44 Сейчас в теме
(12) При сохранении обработки во внешнюю обработку, захожу в неё и в поле со ссылкой на справочник из расширения и вместо ссылки на этот справочник появляется просто строка (т.е. тип строка). Получается что ссылка на справочник из из расширения заменяется строкой, вообщем, этот способ не работает к сожалению
manlak; BarsukM; +2 Ответить
22. BarsukM 09.08.24 17:20 Сейчас в теме
(11) Добавить на форму реквизит с типом "Произвольный".
У соотв. элемента формы снять галку "ВыбиратьТип".
При открытии формы присваивать пустую ссылку.
Если Не ЗначениеЗаполнено(ЭтаФорма.МойДокумент) Тогда
	ЭтаФорма.МойДокумент = ПредопределенноеЗначение("Документ.Расш_МойДокумент.ПустаяСсылка");
КонецЕсли;

Если нужно автосохранять значение, то его можно восстанавливать в событии формы ПередЗагрузкойДанныхИзНастроекНаСервере
&НаСервере
Процедура ПередЗагрузкойДанныхИзНастроекНаСервере(Настройки)
	ЭтаФорма.МойДокумент = Настройки.Получить("МойДокумент");
КонецПроцедуры
14. Alexwarsis 03.02.21 09:33 Сейчас в теме
1)Все необходимое временно втащить в расширение все необходимое для обработки,
2)сделать эту обработку в расширении
3)сохранить как внешнюю обработку.
и да для того что бы ее поправить придется снова все втащить в расширение.

Очень неудобный случае если нужны объекты из разных расширений
16. rokhin 147 25.05.22 09:57 Сейчас в теме
СКД разрабатывал в "Консоль СКД", потом сохранял в файл, загружал в обработку в конфигураторе.
По аналогии с разработкой Запроса в "Консоли запросов".
Думал, что это универсальное решение. И нормально получалось. При загрузке СКД из сохраненной в файл выгрузке СКД Конфигуратор ругался, но СКД загружалась, внешнюю обработку можно было сохранить.
Но столкнулся с последствиями "выскакивающего предупреждения", ведь загрузка файла прекращалась.
Оказалось, что соскакивает на закладке Ресурсы настройка "Рассчитывать по ..."
В результате нет возможности правильно рассчитывать остатки, именно они требуют указания по каким измерениям следует делать расчет остатков.

Поэтому для возможности разработки придется отчет делать в расширении, а не во внешнем отчете. Согласен с (14)
17. Alexwarsis 25.05.22 14:52 Сейчас в теме
(16) Недавно делал схему и все остальное программно для СКД. но сформировать его программно тот ещё геморрой. но если не хочется тягать в расширение то вариант. тем более запрос тогда можно в консоле запросов редактировать. находил на инфостарте где-то статью где подробно разобрано как СКД програмно формировать.
Главное, не забудь указать типы каждому полю... по крайней мере у меня без этого была беда
18. rokhin 147 25.05.22 15:45 Сейчас в теме
(17)
Не программно, а в консоли СКД (обработка с ИТС) в режиме Предприятие.
19. Alexwarsis 25.05.22 16:17 Сейчас в теме
(18) Что за консоль СКД? я знаю только консоль запросов, ты о ней? Нашел о чем ты спасибо. в след раз не придется програмно целиком делать
20. rokhin 147 26.05.22 10:15 Сейчас в теме
(19) Да, и там не все очевидно, т.е. не все интуитивно-понятно. Не помешала бы видео-демонстрация.
Но очень упрощает разработку отчетов на основе СКД. Даже без использования данных расширений.
21. verunca 16.04.24 13:01 Сейчас в теме
А как быть с типами данных, например у меня во внешней обработке есть реквизит с типом ссылка на справочник расширения. Но я не могу его выбрать в свойствах, так как его при выборе нет
Оставьте свое сообщение

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