|
Как передать дополнительные параметры с формы в СКД ? | ☑ | ||
---|---|---|---|---|
0
vv2304
06.08.19
✎
08:22
|
УФ.
Создан отчет на СКД. Создана форма настроек куда вынесены реквизиты отчета. Здесь скрин https://s8.hostingkartinok.com/uploads/images/2019/08/efa4a1dd111932ebf8e4bc68dc7f65ec.jpg Щелкаю по настройкам, скрин здесь https://s8.hostingkartinok.com/uploads/images/2019/08/284476ca39a7b051c61b725f654d8610.jpg Вылетает ошибка "{ОбщийМодуль.ОбщегоНазначенияКлиентСервер.Модуль(338)}: Итератор для значения не определен Для Каждого Элемент Из Источник Цикл" Скрин ошибки https://s8.hostingkartinok.com/uploads/images/2019/08/03c3da7f62bcd2619bbd5b3aca847bd4.jpg Не могу понять :( |
|||
1
vv2304
06.08.19
✎
08:24
|
Отладчиком в модуле формы проверяю, все заполненные реквизиты отчета видны и заполнены. На скрине убрал
А в модуле объекта в процедуре ПриКомпоновкеРезультата их ни одного нет, у всех "". Все реквизиты-строка неогр.длины. |
|||
2
Пробел
06.08.19
✎
08:38
|
Вопроса не понял, но я бы попробовал перенести все реквизиты отчета в параметры СКД, а дальше через КомпоновщикНастроек...
|
|||
3
vv2304
06.08.19
✎
08:45
|
(2) Реквизит "ПутьКБазе" - это для интерактивного выбора на форме расположения каталога базы.
Логин и пароль - тоже вводятся интерактивно. |
|||
4
vv2304
06.08.19
✎
08:48
|
Логин можно, а вот пароль с учетом тогоа, что он должен вводиться именно как пароль ?
Ну и путь к другой базе нужно выбирать. Поэтом эти реквизиты сделал реквизитами отчета. Но как их разместить на форме отчета, созданного на СКД ? Пробовал обычную форму добавить, там орет, что настройки не переданы. |
|||
5
Mankubus
06.08.19
✎
08:54
|
делаешь реквизиты отчета. размешаешь их на форме.
в процедуре ПриКомпоновкеРезультата передаешь их в СКД КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Имя", Значение) |
|||
6
vv2304
06.08.19
✎
08:56
|
(5) При таком варианте при нажатии кнопки "Настройка" вылетает
{ОбщаяФорма.ФормаНастроекОтчета.Форма(34)}: Не передан служебный параметр "НастройкиОтчета". ВызватьИсключение НСтр("ru = 'Не передан служебный параметр ""НастройкиОтчета"".'"); |
|||
7
vv2304
06.08.19
✎
09:10
|
Получается,что надо создавать обе формы, и настройи и обычную. Форма настроек не заполняется, весь код в модуле основной формы: выбор баз, логины и пароли.
А в модуле объекта все это подхватится. Т.е. основная засада была в том, что надо было создать ДВЕ формы. |
|||
8
Максим Нижегородец
06.08.19
✎
09:18
|
(7) Всегда делается так: На основную форму ОТЧЕТА помещаются самые нужные параметры отчета (их обычно немного, на пример Период, Организация, Склад). А в настройки заходят для более тонкой настройки отчета (если такая требуется). (5) Тут правильно.
|
|||
9
Sasha_H
06.08.19
✎
09:35
|
(5)
Дополню немножко: Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) УстановитьНовоеЗначениеПараметраДанных("Парам1", ПолучитьЗначениеПараметраДанных("Парам1_1")); УстановитьНовоеЗначениеПараметраДанных("Парам2", ПолучитьЗначениеПараметраДанных("Парам2_1")); КонецПроцедуры Функция ПолучитьЗначениеПараметраДанных(ИмяПараметра) ПараметрДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра); ПараметрДанныхПользовательский = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрДанных.ИдентификаторПользовательскойНастройки); Возврат ПараметрДанныхПользовательский.Значение; КонецФункции Процедура УстановитьНовоеЗначениеПараметраДанных(ИмяПараметра, НовоеЗначение) ПараметрДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра); ПараметрДанных.Значение.ЗагрузитьЗначения(НовоеЗначение); ПараметрДанных.Использование = Истина; КонецПроцедуры Учитывается пользовательское изменение параметра. |
|||
10
Sasha_H
06.08.19
✎
09:39
|
Это как пример, где вариатор ЗагрузитьЗначения используется только для СпискаЗначений. Поэтому комбинаторика в случае разных типов будет сложней.
|
|||
11
Sasha_H
06.08.19
✎
09:42
|
(9) В моем случае я решал, пользователь в параметры скд передавал Список разных артикулов причем там была еще обработка этого я скрыл так как кода много. ТОесть пользователь мог скопировать колонку из ексель и вбабахать в параметр, а скд в свою очередь выдать результат с отбором.
Просто разъяснил причину связанности установки параметра в СКД за счет другого параметра СКД. |
|||
12
vv2304
06.08.19
✎
15:13
|
Не, не пойдет, мне же нужно еще и сохранять варианты отчета.
|
|||
13
vv2304
06.08.19
✎
16:29
|
Люди, так как тогда сохранять варианты если параметры - это реквизиты отчета ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |