|
v8: СКД: в условии связи не указываются поля набора данных-объект | ☑ | ||
---|---|---|---|---|
0
Raybek
29.04.13
✎
18:12
|
Ваяю внешний отчет на СКД.
У отчета есть табличная часть "ДиапазоныОстатков" с двумя числовыми реквизитами "НижнийПредел", "ВерхнийПредел". Есть два набора данных: - типа "объект" с именем "ДиапазоныОстатков", куда я гружу табличную часть - типа "объединение" с именем "ОстаткиТоваров", в котором два набора данных типа "запрос": "ОстаткиНаСкладах" и "ОстаткиВРознице" Через связи наборов данных в СКД делаю соединение наборов данных: - и СКД ошибок выполнения не выдает, пока не пытаюсь в условии связи обратиться к полям набора данных-объект "НижнийПредел" или "ВерхнийПредел". А именно ошибка: по причине: Ошибка компоновки макета по причине: Поле не найдено "ВерхнийПредел" Код модуля объекта следующий: Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; //Компоновка результата КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки); ВнешниеНаборыДанных = Новый Структура("ДиапазоныОстатков", ДиапазоныОстатков); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(Макет, ВнешниеНаборыДанных); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ДокументРезультат = ПроцессорВывода.Вывести(ПроцессорКомпоновки); ДокументРезультат.Показать(); КонецПроцедуры Ошибка вылетает при компоновке макета на строке: КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки) |
|||
1
Raybek
29.04.13
✎
19:22
|
Пробовал как в файл-серверном так и клиент-серверном режиме - результат тот же.
|
|||
2
Defender aka LINN
29.04.13
✎
19:27
|
Это, наверное, курсы какие-то есть. Там учат, что если задаешь вопрос про связи наборов данных - то надо выложить код вывода отчета. Можно запрос, или еще что-нибудь. Главное - не выкладывать проблемное место, так же намного интереснее.
|
|||
3
Raybek
29.04.13
✎
19:33
|
(2) Проблема именно в том, что не дает указать поле набора данных - объект в условии связи.
Озвучьте пожалуйста, что именно я должен еще выложить по проблеме? Вот скрин закладки "Связи наборов данных" <img src="http://www.fotohost.kz/images/2013/04/29/35Ktm.png" border="0" /> |
|||
4
Raybek
29.04.13
✎
19:33
|
<a href="http://www.fotohost.kz/images/2013/04/29/35Ktm.png"><img src="http://www.fotohost.kz/images/2013/04/29/35Ktm.th.png" border="0" /></a>
|
|||
5
Raybek
29.04.13
✎
19:33
|
||||
6
Raybek
29.04.13
✎
19:33
|
(5) Вроде так:)
|
|||
7
Raybek
29.04.13
✎
19:35
|
Вот сам разрабатываемый внешний отчет
http://www.x-files.kz/e9313908 |
|||
8
Raybek
29.04.13
✎
19:38
|
Сама задача состоит в том, чтобы сгруппировать остатки товаров по диапазонам.
Идея в следующем: пользователь в табличной части вводит диапазоны остатков: нижний и верхний пределы. Затем через левое соединение остатков с таблицей диапазонов связываем так сказать остаток с соответствующими полями диапазона. |
|||
9
Raybek
29.04.13
✎
19:50
|
Ну хоть ламером для приличия обзовите, лишь бы помогли, не молчали, профи:)
А то хочу красиво замутить, хотя есть выход всю эту фигню запихать в один набор данных - объект...не хочу... нет поэзии в этом что-ли:) |
|||
10
Raybek
29.04.13
✎
20:15
|
Ладно...будем искать...об удаче отпишусь
|
|||
11
Raybek
29.04.13
✎
21:15
|
> Проблема именно в том, что не дает указать поле набора данных - объект в условии связи.
Поэкспериментировал - данное выше утверждение - неверное. СКД выдает ошибку при указании в выражении "условие связи" поля набора данных ПРИЕМНИКА СВЯЗИ. То бишь сделал "ДипазоныОстатков" Источником связи и вуаля - ошибка исчезла...однако теперь ошибка возникает при указании поля "ОстаткиТоваров":) Блин, а вся идея то заключалась на сравнении границ диапазона и остатка в условии соединения наборов данных! |
|||
12
Raybek
30.04.13
✎
10:49
|
Сделал:))))!
На закладке связей наборов данных - родительским набором данных поставил "ДиапазоныОстатков" - убрал условие связи - в выражения источника и приемника поставил "Истина" На закладке Настройки - создал группировку по реквизитам диапазона "Нижний предел", "Верхний предел" - в этой группировке создал группировку по "Номенклатуре" - кстати ресурс "КоличествоОстаток" рассчитывается только по "Номенклатуре" (закладка "Ресурсы") - Иииии и самый смак! В отборе группировки "Номенклатура" добавил два условия для проверки вхождения остатка в диапазон причем правое значение - это поле компоновки данных:))) Вот скрин http://fotohost.kz/image/Ab1h |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |