По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)Спасибо!
Сам пытался через структуру получить эту коллекцию, но увы. Сообщение об ошибке:
Ваш метод с первого раза не вошел, может я "Настройки" неправильно получаю.
Речь идет о необходимости добавление и использования группировки "Документ" в отчете "ДвиженияТоваров" 1С БП 3.0.
Сам пытался через структуру получить эту коллекцию, но увы. Сообщение об ошибке:
Поле объекта не обнаружено (ПоляГруппировки)
{ВнешняяОбработка.МояОбработка.Форма.Форма.Форма(2434)}: ПоляГрупировки = Настройки.Структура[0].ПоляГруппировки.Элементы[0];
{ВнешняяОбработка.МояОбработка.Форма.Форма.Форма(2407)}: ЕстьГруппировка = ПроверитьГруппировкуСКДНаСервере("ДвижениеТоваров", "ОсновнаяСхемаКомпоновкиДанных", "Регистратор");
Ваш метод с первого раза не вошел, может я "Настройки" неправильно получаю.
СКД = Отчеты[Отчет].ПолучитьМакет(Вариант);
Настройки = СКД.ВариантыНастроек[0].Настройки;
Речь идет о необходимости добавление и использования группировки "Документ" в отчете "ДвиженияТоваров" 1С БП 3.0.
(1) Если конфигурация на БСП, то
ГруппировкиСтруктуры = КомпоновкаДанныхКлиентСервер.ПолучитьГруппировки(КомпоновщикНастроек, Ложь);
Для каждого ГруппировкаСтруктуры Из ГруппировкиСтруктуры Цикл
Если ГруппировкаСтруктуры.Значение.ПоляГруппировки.Элементы.Количество() = 0 Тогда
(8)Доброго времени суток!
Да, конфигурация на БСП, и общий модуль "КомпоновкаДанныхКлиентСервер", но вот процедуры с указанным именем там нет. Как я уже писал, конфигурация БП 3.0.
Хотел воспользоваться в общем модуле "БухгалтерскиеОтчетыКлиентСервер" процедурой "НайтиГруппировку"
Пока безуспешно.
Да, конфигурация на БСП, и общий модуль "КомпоновкаДанныхКлиентСервер", но вот процедуры с указанным именем там нет. Как я уже писал, конфигурация БП 3.0.
Хотел воспользоваться в общем модуле "БухгалтерскиеОтчетыКлиентСервер" процедурой "НайтиГруппировку"
// Возвращает элемент структуры настроек компоновки данных содержащий поле группировки с указанным именем.
// Поиск осуществляется по указанной структуре и все ее подчиненным структурам.
// В случае неудачи возвращает Неопределено.
//
// Параметры:
// СтруктураГруппировки - ГруппировкаТаблицыКомпоновкиДанных, ГруппировкаКомпоновкиДанных,
// КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных - элемент структуры компоновки данных.
// ИмяПоля - Строка - Имя поля группировки.
//
// Возвращаемое значение:
// ГруппировкаТаблицыКомпоновкиДанных, ГруппировкаКомпоновкиДанных, Неопределено.
//
Функция НайтиГруппировку(СтруктураГруппировки, ИмяПоля) Экспорт
ПоказатьПока безуспешно.
(9)
Всегда думал, что это часть БСП. Это из УТ11. Там функция и процедура с рекурсией.
Как я уже писал, конфигурация БП 3.0.
Всегда думал, что это часть БСП. Это из УТ11. Там функция и процедура с рекурсией.
// Возвращает список всех группировок компоновщика настроек
//
// Параметры:
// ЭлементСтруктуры - КомпоновщикНастроекКомпоновкиДанных, НастройкиКомпоновкиДанных - элемент структуры КД
// ПоказыватьГруппировкиТаблиц - Булево - признак добавления в список группировки колонок (по умолчанию Истина).
//
// Возвращаемое значение:
// ГруппировкаТаблицыКомпоновкиДанных, ГруппировкаДиаграммыКомпоновкиДанных,
// ЭлементСтруктурыТаблицыКомпоновкиДанных, ЭлементСтруктурыДиаграммыКомпоновкиДанных
// ГруппировкаКомпоновкиДанных - найденная группировка.
//
Функция ПолучитьГруппировки(ЭлементСтруктуры, ПоказыватьГруппировкиТаблиц = Истина) Экспорт
СписокПолей = Новый СписокЗначений;
Если ТипЗнч(ЭлементСтруктуры) = Тип("КомпоновщикНастроекКомпоновкиДанных") Тогда
Структура = ЭлементСтруктуры.Настройки.Структура;
ДобавитьГруппировки(Структура, СписокПолей);
ИначеЕсли ТипЗнч(ЭлементСтруктуры) = Тип("НастройкиКомпоновкиДанных") Тогда
Структура = ЭлементСтруктуры.Структура;
ДобавитьГруппировки(Структура, СписокПолей);
ИначеЕсли ТипЗнч(ЭлементСтруктуры) = Тип("ТаблицаКомпоновкиДанных") Тогда
ДобавитьГруппировки(ЭлементСтруктуры.Строки, СписокПолей);
ДобавитьГруппировки(ЭлементСтруктуры.Колонки, СписокПолей);
ИначеЕсли ТипЗнч(ЭлементСтруктуры) = Тип("ДиаграммаКомпоновкиДанных") Тогда
ДобавитьГруппировки(ЭлементСтруктуры.Серии, СписокПолей);
ДобавитьГруппировки(ЭлементСтруктуры.Точки, СписокПолей);
Иначе
ДобавитьГруппировки(ЭлементСтруктуры.Структура, СписокПолей, ПоказыватьГруппировкиТаблиц);
КонецЕсли;
Возврат СписокПолей;
КонецФункции
// Добавляет вложенные группировки элемента структуры.
//
Процедура ДобавитьГруппировки(Структура, СписокГруппировок, ПоказыватьГруппировкиТаблиц = Истина)
Для каждого ЭлементСтруктуры Из Структура Цикл
Если ТипЗнч(ЭлементСтруктуры) = Тип("ТаблицаКомпоновкиДанных") Тогда
ДобавитьГруппировки(ЭлементСтруктуры.Строки, СписокГруппировок);
ДобавитьГруппировки(ЭлементСтруктуры.Колонки, СписокГруппировок);
ИначеЕсли ТипЗнч(ЭлементСтруктуры) = Тип("ДиаграммаКомпоновкиДанных") Тогда
ДобавитьГруппировки(ЭлементСтруктуры.Серии, СписокГруппировок);
ДобавитьГруппировки(ЭлементСтруктуры.Точки, СписокГруппировок);
Иначе
СписокГруппировок.Добавить(ЭлементСтруктуры);
Если ПоказыватьГруппировкиТаблиц Тогда
ДобавитьГруппировки(ЭлементСтруктуры.Структура, СписокГруппировок);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот