В данной статье речь пойдет об ошибке, которая может возникнуть при программном написании отчета СКД.
Ситуация: для реализации функционала группировки по колонке разработчик присваивает имя переменной, совпадающей с методом встроенного языка.
Пример.
ГруппировкаКолонок = Строка1.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
Здесь достаточно указать "кусок" кода, весь код нагрузит восприятие.
НастройкиКомпоновки = КомпоновщикНастроек.Настройки;
Если НастройкиКомпоновки.Структура.Количество() = 0 Тогда
//3. Добавляем группировки данных
// Добавим в отчет таблицу
Таблица = Новый Структура;
Таблица = НастройкиКомпоновки.Структура.Добавить(Тип("ТаблицаКомпоновкиДанных"));
Таблица.Использование = Истина;
// Добавим в таблицу строку
Строка1 = Таблица.Строки.Добавить();
Строка1.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
Строка1.Порядок.Элементы.Добавить(Тип("АвтоЭлементПорядкаКомпоновкиДанных"));
Строка1.Использование = Истина;
ГруппировкаКолонок = Строка1.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
ГруппировкаКолонок.Использование = Истина;
ГруппировкаКолонок.Поле = Новый ПолеКомпоновкиДанных("Автомобиль");
ВыбранноеПолеКомпоновкиДанных = НастройкиКомпоновки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ВыбранноеПолеКомпоновкиДанных.Использование = Истина;
ВыбранноеПолеКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных("Количество");
ВыбранноеПолеКомпоновкиДанных = НастройкиКомпоновки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ВыбранноеПолеКомпоновкиДанных.Использование = Истина;
ВыбранноеПолеКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных("Сумма");
В результате, при работе выдается ошибка:
Что здесь можно сделать?
Поменять имя переменной, т. к. метод ГруппировкаКолонок существует во встроенном языке и отвечает за свой функцонал.
Ответ лежит на поверхности, но иногда уходят часы на поиск простого решения.
Для ознакомления с другими моими статьями по СКД можно перейти по ссылкам ниже: