|
Как получить макет СКД в веб-сервисе? | ☑ | ||
---|---|---|---|---|
0
tciban
26.10.20
✎
12:14
|
Это как бы в продолжение темы Подскажите по Вебсервису и XDTO!
Там я спросил как бы мне получить из вебсервиса сразу вместо ссылки строку УИД Мне посоветовали получать не запросом нужные сведения, а через СКД: https://start1c.blogspot.com/2014/02/blog-post.html на том тему и забыли. Я попробовал сразу вариант с програмнным формированием схемы СКД. Некоторые затруднения вызвало подставление параметра, ну да нарыл, заработало, получение данных прилично ускорилось. А теперь меня заинтересовал вариант получения схемы СКД через макет. Ну потому что если запрос достаточно сложный, схему программно формировать довольно долго и муторно, решил сделать схему и вставить в дерево как макет. Но столкнулся со следующей проблемой - метод ПолучитьМакет() есть только у прикладных объектов! А мне схема СКД нужна в модуле. Либо в программном модуле либо в модуле веб-сервиса. Кто сталкивался - подскажите, как это можно сделать? Заранее благодарен уважаемым коллегам за мудрые советы! PS: Кстати параметры в схему СКД программно добавил вот так: Настройки = СхемаСКД.ВариантыНастроек[0].Настройки; СтрПараметр = Настройки.ПараметрыДанных.Элементы.Добавить(); СтрПараметр.Параметр = Новый ПараметрКомпоновкиДанных("Пользователь"); СтрПараметр.Значение = Пользователь; СтрПараметр.Использование = Истина; Что скажите? |
|||
1
zippygrill
26.10.20
✎
12:16
|
его вроде можно в xml не?
|
|||
2
zippygrill
26.10.20
✎
12:16
|
или сериализацию
|
|||
3
tciban
26.10.20
✎
12:27
|
(1) и (2) не совсем про то. Вот смотри - когда ты из отчета или из документа хочешь получить имеющуюся в дереве конфигурации схему СКД ты просто пишешь ПолучитьМакет(<Имя макета>)
А в моем случае что писать? Когда я в програмном модуле просто хочу получить схему CRL? программно ее скомпоновать, получить на выходе ТЗ и отправить это тезе в качестве ответа веб-сервиса. (последнне впрочем не самое определяющее, не важно) |
|||
4
ДенисЧ
26.10.20
✎
12:29
|
ПолучитьОбщийМакет() пробовал?
|
|||
5
Василий Алибабаевич
26.10.20
✎
12:30
|
(0) "метод ПолучитьМакет() есть только у прикладных объектов!"
ПолучитьОбщийМакет спасет отца... |
|||
6
tciban
26.10.20
✎
12:35
|
(4) (5) О! Вот стоит спросить умных людей и сразу все станет на свои места :)
|
|||
7
tciban
26.10.20
✎
13:29
|
Теперь бы кто подсказал как установить значение параметра в полученной СКД...
|
|||
8
ДенисЧ
26.10.20
✎
13:33
|
(7) А чем данная схема отличается от той, что получена из объекта?
|
|||
9
tciban
26.10.20
✎
13:43
|
(8) тем что там уже есть параметр, не надо добавлять, надо только значение установить
|
|||
10
ДенисЧ
26.10.20
✎
13:46
|
(9) А в этой схеме нет параметра? Тогда чему значение устанавливать будем? О_о
|
|||
11
tciban
26.10.20
✎
13:49
|
(10) Когда я схему формирую программно - там нет сначала параметра и я его добавляю.
Настройки = СхемаСКД.ВариантыНастроек[0].Настройки; СтрПараметр = Настройки.ПараметрыДанных.Элементы.Добавить(); СтрПараметр.Параметр = Новый ПараметрКомпоновкиДанных("Пользователь"); СтрПараметр.Значение = Пользователь; СтрПараметр.Использование = Истина; Когда я беру схему из макета - там уже есть параметр Пользователь, но мне надо установить его значение но почему то не прокатывает код Настройки = Схема.ВариантыНастроек[0].Настройки; СтрПараметр = Настройки.ПараметрыДанных.Элементы.Найти("Пользователь"); СтрПараметр.Значение = Пользователь; СтрПараметр.Использование = Истина; |
|||
12
tciban
26.10.20
✎
14:24
|
up!
|
|||
13
ДенисЧ
26.10.20
✎
14:34
|
Ну так смотри, с каким вариантом ты выполняешь...
|
|||
14
tciban
26.10.20
✎
14:36
|
(13) Я попробовал подставить Схема.ВариантыНастроек[1] - выругалось, нет такого
|
|||
15
Mankubus
26.10.20
✎
14:36
|
>>Настройки = СхемаСКД.ВариантыНастроек[0].Настройки;
так плохо писать. надо Настройки = СхемаСКД.НастройкиПоУмолчанию; Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Пользователь", Пользователь); |
|||
16
Mankubus
26.10.20
✎
14:37
|
и вопрос почему код не прокатывает? как это понял?
наверное просто дальше не правильно инициализируешь компоновщик |
|||
17
tciban
26.10.20
✎
14:38
|
(15)
Неполучилось При вызове веб-сервиса произошла ошибка. Ошибка SOAP сервера: Неизвестная ошибка. {РасширениеWebServis ОбщийМодуль.ws_ВебСервисы.Модуль(210)}: Ошибка при вызове метода контекста (УстановитьЗначениеПараметра) по причине: {РасширениеWebServis ОбщийМодуль.ws_ВебСервисы.Модуль(210)}: Ошибка при вызове метода контекста (УстановитьЗначениеПараметра) по причине: Параметр с указанным именем не найден |
|||
18
tciban
26.10.20
✎
14:39
|
(17) Непроканало потому что Настройки.ПараметрыДанных.Элементы.Найти("Пользователь"); возвращает неопределено
|
|||
19
Вафель
26.10.20
✎
14:41
|
отчеты. мойотчет. получитьмакет
|
|||
20
tciban
26.10.20
✎
14:43
|
(19) Нет у меня отчета :( горюю!
|
|||
21
Mankubus
26.10.20
✎
14:45
|
что-то не так делаешь но не видя макет и весь код можно только угадывать
|
|||
22
tciban
26.10.20
✎
14:58
|
ну код то я легко могу показать, а вот макет...
Сюда как то скриншот вставить можно? Ни разу не делал |
|||
23
arsik
гуру
26.10.20
✎
14:58
|
(22) Закладку параметры в СКД покажи
|
|||
24
tciban
26.10.20
✎
15:05
|
(23) как вставить скриншот?
|
|||
25
arsik
гуру
26.10.20
✎
15:06
|
(24) никак. Через картинкообменник
|
|||
26
tciban
26.10.20
✎
15:09
|
Короче в закладке параметры Имя - Пользователь, Ограничение доступности галочка и запрещать незаполненые значения галочка. использование Авто
|
|||
27
ДенисЧ
26.10.20
✎
15:14
|
(24) Кладёшь на pics.rsh.ru, ссылку сюда.
И покажи Настройки.ПараметрыДанных.Элементы в развёрнутом виде из отладчике |
|||
28
tciban
26.10.20
✎
15:22
|
(27) "И покажи Настройки.ПараметрыДанных.Элементы в развёрнутом виде из отладчике" Вот с этим проблема... Отладку на сервере добро если завтра админы включат :(
Была б отладка - я б может уже разобралсо |
|||
29
tciban
26.10.20
✎
15:25
|
пишет не нашла такого параметра
|
|||
30
tciban
26.10.20
✎
15:28
|
||||
31
arsik
гуру
26.10.20
✎
15:30
|
(30) Эти обе галки сними а соседнюю поставь
|
|||
32
tciban
26.10.20
✎
15:38
|
(31) А код какой для установки параметра?
|
|||
33
arsik
гуру
26.10.20
✎
15:51
|
||||
34
tciban
26.10.20
✎
15:56
|
(33) Ай шаман! Кажись заработало!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |