|
Как использовать программно добавленный внешний набор данных и связь наборов данных в СКД? | ☑ | ||
---|---|---|---|---|
0
BurundukIzElok
15.03.24
✎
17:14
|
Пытаюсь доработать существующий отчет СКД, нужно добавить новые данные.
В событии "ПриКомпоновкеДанных" без ошибок создаю внешний набор, добавляю поля, создаю таблицу значений и заполняю её, добавляю её во внешние источники, добавляю новую связь в СвязиНаборовДанных таким образом: НоваяСвязь = МакетКомпоновкиДанных.СвязиНаборовДанных.Добавить(); НоваяСвязь.ВыражениеИсточник = "НачисленияУдержанияОбъединенные.Сотрудник"; НоваяСвязь.ВыражениеПриемник = "ВнешнийНаборДанных.ПолеДляСоединения"; НоваяСвязь.НаборДанныхИсточник = "НачисленияУдержанияОбъединенные"; НоваяСвязь.НаборДанныхПриемник = "ВнешнийНаборДанных"; Однако в при выводе в таблицу значений или в документ все добавленные поля пустые без каких-либо видимых ошибок. Что я делаю не так? |
|||
1
Garykom
гуру
15.03.24
✎
17:17
|
(0) >создаю внешний набор, добавляю поля
Типы значения у полей задаешь? Когда из ТЗ автоматом не подтягивает |
|||
2
Garykom
гуру
15.03.24
✎
17:13
|
ВнешнийНаборДанных.ПолеДляСоединения - тип значения?
желательно и у поля и у колонки ТЗ задать должны совпадать с НачисленияУдержанияОбъединенные.Сотрудник |
|||
3
BurundukIzElok
15.03.24
✎
17:20
|
Типы значений установлены, сотрудник - СправочникСсылка.Сотрудники, таблицу значений создаю так:
ТЗ = новый ТаблицаЗначений(); ТЗ.Колонки.Добавить("ПолеТест", новый ОписаниеТипов("Число")); ТЗ.Колонки.Добавить("ПолеДляСоединения", новый ОписаниеТипов("СправочникСсылка.Сотрудники")); В отладке заполнение корректное, для теста я просто заполняю всеми сотрудниками и произвольными числами, однако при выводе поля (ПолеТест, ПолеДляСоединения) пустые. |
|||
4
Garykom
гуру
15.03.24
✎
17:26
|
(3) подразумевал
НовоеПоле = ВнешнийНаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); ... НовоеПоле.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Сотрудники"); есть? |
|||
5
BurundukIzElok
15.03.24
✎
19:15
|
(4) Я добавляю внешний набор следующим образом:
НовыйВнешнийНабор = МакетКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектМакетаКомпоновкиДанных")); А поля набора: НовоеПоле = НовыйВнешнийНабор.Поля.Добавить(); У них тип значения ПолеНабораДанныхМакетаКомпоновкиДанных у которого нельзя указать ТипЗначения. |
|||
6
Garykom
гуру
15.03.24
✎
19:27
|
(5) чего?
|
|||
7
Garykom
гуру
15.03.24
✎
19:44
|
(5) Макет это уже потом, сначала Схема нужна!
А макет да сам возьмет из схемы Суть что у тебя есть Запрос(НаборДанныхЗапросСхемыКомпоновкиДанных) и ты к нему хочешь присоединить свою ТЗ(НаборДанныхОбъектСхемыКомпоновкиДанных) |
|||
8
Garykom
гуру
15.03.24
✎
19:40
|
(7)+
|
|||
9
BurundukIzElok
15.03.24
✎
20:48
|
(8) Я понял о чём вы, моя проблема в том что я пытаюсь внести это в стандартный отчет, ограничив изменения лишь в функции "ПриКомпоновкеДанных".
Перед получением макета, схема передаётся в общий модуль "ЗарплатаКадрыОтчеты" и добавленные наборы данных очищаются, поэтому я пытался отредактировать макет, а не схему. Возможно ли реализовать это редактированием макета или требуется чтоб изменения были в схеме? |
|||
10
Garykom
гуру
15.03.24
✎
20:50
|
(9) Перекрой расширением общий модуль "ЗарплатаКадрыОтчеты" как тебе надо
|
|||
11
BurundukIzElok
16.03.24
✎
00:43
|
Надеялся что можно обойтись, после изменения модуля внешний набор подхватился корректно, спасибо.
|
|||
12
sitex
naïve
16.03.24
✎
00:44
|
(0) Лучше полный алгоритм скиньте что у Вас ПриКомпоновкеРезультата .а так просто гадать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |