Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
06 мая 2024, 03:34

как в цикле обратиться к значениям полей СхемаКомпоновкиДанных и где должна быть размещена обработка при отсутствии формы?

Автор sveta C, 01 мар 2016, 20:04

0 Пользователей и 1 гость просматривают эту тему.

sveta C

Добрый Вечер!
кто-то может подсказать как в цикле обратиться к значениям конкретных полей СхемаКомпоновкиДанных и где должна быть размещена обработка при отсутствии формы? Помогите, пожалуйста.

Agromon

Несколько непонятен вопрос.

СхемаКомпоновкиДанных (DataCompositionSchema)
Свойства:

ВариантыНастроек (SettingVariants)
ВложенныеСхемыКомпоновкиДанных (NestedDataCompositionSchemas)
ВычисляемыеПоля (CalculatedFields)
ИсточникиДанных (DataSources)
Макеты (Templates)
МакетыГруппировок (GroupTemplates)
МакетыЗаголовковГруппировок (GroupHeaderTemplates)
МакетыПолей (FieldTemplates)
МакетыПолейИтога (TotalFieldsTemplates)
НаборыДанных (DataSets)
НастройкиПоУмолчанию (DefaultSettings)
Параметры (Parameters)
ПоляИтога (TotalFields)
СвязиНаборовДанных (DataSetLinks)

Конструкторы:

По умолчанию

Описание:

Схема компоновки данных.

Свойства схемы одни и те же, перебрать их в цикле нельзя. Что перебирать-то собрались? И с какой целью (если не секрет, конечно)?

sveta C

Agromon, обратится к одному из наборов схемы компоновки данных (связанному с первым), получить список значений (связь 1 ко многим) и вставить их в общий параметр схемы компоновки данных через ";"
Добавлено: 01 мар 2016, 20:27


просто контакты (телефон, эл адрес,  и т.д. ) нужно выгрузить через ";" в одну ячейку для каждого соответствующего контактного лица  ( 1 -вый набор данных контрагент -1 группировка, контактные лица -2 группировка / 2-ой набор данных контакты контактных лиц) УТП

Agromon

Цитата: sveta C от 01 мар 2016, 20:21
...просто контакты (телефон, эл адрес,  и т.д. ) нужно выгрузить через ";" в одну ячейку для каждого соответствующего контактного лица  ( 1 -вый набор данных контрагент -1 группировка, контактные лица -2 группировка / 2-ой набор данных контакты контактных лиц) УТП

Сталкивался с подобной задачей. Полностью через СКД не нашёл способа.

Делал так: программным способом формировал ТЗ, которую передавал параметром в запрос.


Agromon

Нету, конечно.
Общий смысл таков: в первом наборе данных мы помещаем наш запрос.
Во втором наборе данных помещаем объект (перечисляем имя ТЗ и все её поля с указанием типов).

Потом ваяем отчет, соединяя данные на вкладке "связи".

Затем в модуле объекта, в процедуре ПриКомпоновкеРезультата формируем ТЗ для объекта. Передаём ей схеме. Выводим результат (примеров вывода полно в сети - там немного строк: Ctrl+Insert и shift+Insert).

Как-то так. Давно было.

sveta C

Agromon, как передать параметр -это не проблема. Проблема как найти данные в запросе связанные с первым набором данных ? :dfbbdrfb:
Добавлено: 01 мар 2016, 20:54


У МЕНЯ ЭТИ НАБОРЫ ДАННЫХ УЖЕ СВЯЗАННЫЕ, НО КАК ВЫБРАТЬ РЕЗУЛЬТАТЫ ИЗ СВЯЗАННОГО НАБОРА ДАННЫХ (КАК К НИМ ОБРАТИТЬСЯ И ОТКУДА ЕСЛИ НЕТ ФОРМЫ)

Agromon

Цитата: sveta C от 01 мар 2016, 20:52
Agromon, как передать параметр -это не проблема. Проблема как найти данные в запросе связанные с первым набором данных ? :dfbbdrfb:

Гм, ТЗ просто так не передашь, это не массив.
Я в этой ТЗ делал ключевые поля, для связей набора данных. Т.е. для Вас должно быть ТЗ с полями: контрагент (СправочникСсылка.Контрагенты), КонтактноеЛицо (СправочникСсылка.ФизЛица?) и Адреса (Строка (255) - с неограниченной по моему не получится).

По первым двум полям устанавливаем связи, а третье тащим на форму.

sveta C

Процедура ПриКомпоновкеРезультата(кон, tt)
    tt=1 ;

    Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных;

Параметры.УстановитьЗначениеПараметра("Парам", tt);

    НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Найти("контакты");
    ПолеКомпоновкиДанных = НаборДанных.Поля.Найти("Контакты");
Поле = СхемаКомпоновкиДанных.НаборыДанных.контакты.Поля.Найти("Контакты");

КонецПроцедуры

ЧТО НЕ ПРАВИЛЬНО?

Agromon


Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
   // Вставить содержимое обработчика.
КонецПроцедуры


Каша какая-то. Параметра должно быть три.
Данные расшифровки устанавливаешь в "1"

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск