Имя: Пароль:
1C
1С v8
Ошибка расшифровки скд
0 mirrr
 
04.12.11
18:45
Подключаю к скд внеш. набор данных. Выскакивает ошибка:
Ошибка при вызове метода контекста (Инициализировать)
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);
по причине:
Несоответствие типов (параметр номер '3')
ДанныеРасшифровки-св-во формы, которое передаю с клиента на сервер
1 mirrr
 
04.12.11
18:49
при выполнении ДанныеРасшифровки содержит пустую строку (тип - строка)
2 mirrr
 
04.12.11
19:52
?
3 Дядя Васька
 
04.12.11
19:57
ПроцессорКомпоновкиДанных (DataCompositionProcessor)
Инициализировать (Initialize)
Синтаксис:

Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>)
Параметры:

<Макет> (обязательный)

Тип: МакетКомпоновкиДанных. Макет, для которого будет выполняться компоновка.
<ВнешниеНаборыДанных> (необязательный)

Тип: Структура. Ключ структуры соответствует имени внешнего набора данных. Значение структуры - внешнему набору данных.
<ДанныеРасшифровки> (необязательный)

Тип: ДанныеРасшифровкиКомпоновкиДанных. Объект, в котором нужно заполнить данные расшифровки. Если не указан, то расшифровка заполняться не будет.
<ВозможностьИспользованияВнешнихФункций> (необязательный)

Тип: Булево. Указывает возможность использования функции общих модулей конфигурации в выражениях компоновки данных.
Значение по умолчанию: Ложь
Описание:

Инициализировать объект.

Доступность:

Сервер, толстый клиент, внешнее соединение.
4 Дядя Васька
 
04.12.11
19:57
где тут хоть один параметр с типом строка?
5 mirrr
 
04.12.11
20:10
(4) 8.2, реквизит в упр. форме "ДанныеРасшифровки" имеет тип "строка".
У меня макет "ОсновнаяСхемаКомпоновкиДанных", вывожу программно, подключаю внеш. набор данных. Передаю значение реквизита формы в ПроцессорКомпоновкиДанных.Инициализировать
6 mirrr
 
04.12.11
20:13
+(5) Передаю значение реквизита формы "ДанныеРасшифровки" в ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);
Будет ли работать стандартная расшифровка при программном выводе, или обязательно надо делать обработчик расшифровки?
7 Дядя Васька
 
04.12.11
20:15
Ну так я из 8.2 и скопировал...
8 mirrr
 
04.12.11
20:18
Будет ли работать стандартная расшифровка при программном выводе, или обязательно надо делать обработчик расшифровки?
9 Дядя Васька
 
04.12.11
20:20
(8) Блин, ну очевидно же что из строки тебе надо сделать коллекцию индексов и уже ее передавать. Строковых параметров не принимает.
10 Дядя Васька
 
04.12.11
20:22
+(9) Хотя странно все это, по идее у расшифровки должен быть тип ДанныеРасшифровкиКомпоновкиДанных, как он у тебя строкой-то оказался?
11 Дядя Васька
 
04.12.11
20:24
Расширение формы отчета (Report form extension)
ДанныеРасшифровки (DetailsData)
Использование:

Чтение и запись.
Описание:

Тип: ДанныеРасшифровкиКомпоновкиДанных. Содержит данные расшифровки последнего выполненного отчета.

Доступность:

Толстый клиент.
12 mirrr
 
04.12.11
20:25
(10) создай упр. форму отчета, на форме будет реквизит ДанныеРасшифровки с типом строка
13 mirrr
 
04.12.11
20:25
(9) где можно пример посмотреть? Отладчиком  не нашел эту коллекцию
14 Дядя Васька
 
04.12.11
20:34
(12) Какую именно форму-то? У формы отчета, формы настроек и подобных есть реквизит КомпоновщикНастроек, в нем Настройки - ПараметрыДанных который ни разу не строка. Как ты ее создаешь-то?
15 Дядя Васька
 
04.12.11
20:37
(14) Пардон, понял...
16 Дядя Васька
 
04.12.11
20:43
http://help1c.com/help/view/3394.html
"ВАЖНО!
Для того, чтобы при выводе отчета объект ДанныеРасшифровки был заполнен, следует его создать при компоновке макета и передать в процессор компоновки данных.
Для создания объекта ДанныеРасшифровки, при вызове метода Выполнить компоновщика макета, следует передать переменную, в которую требуется поместить созданный объект.
Пример:
Код 1C v 8.х
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);   "
такое есть?
17 mirrr
 
04.12.11
20:47
у меня так же написано. Не работает
18 mirrr
 
04.12.11
20:53
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
   
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, МакетОформления);
// Инициализируем процессор СКД
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);
19 mirrr
 
04.12.11
20:57
(18) при этом при 2-ом клике выскакивает не расшифровка, окошко с числом, вроде порядковый номер поля в группировке. Как сделать, чтобы стандартная расшифровка скд работала?
20 mirrr
 
04.12.11
20:57
(19)* (18) при этом при 2-ом клике выскакивает не расшифровка, а окошко с числом(порядковый номер поля в группировке). Как сделать, чтобы стандартная расшифровка скд работала?
21 mirrr
 
04.12.11
21:28
?