|
Создание отчета кросс-таблица
Волшебник, matthey, DrShad, DimR_71, Михаил Козлов, Мультук, laeg, alexela, dmt, youalex, Доминошник
| ☑ |
0
matthey
17.12.24
✎
18:09
|
Мне нужно создать отчет в конфигураторе 1С: Предприятие 8.3
Я делаю это с помощью внешней обработки. Я создал в форме кнопку и добавил реквизиты НачалоПериода и КонецПериода. Вроде написал код для кнопки "Сформировать", но когда запускаю, то получаю ошибку "Неверное имя колонки"
Вот подробное:
Ошибка при вызове метода контекста (Добавить)
{ВнешняяОбработка.ОтчетПоЗанятостиСпецтехники.Форма.Форма1.Форма(35)}:Таблица.Колонки.Добавить(СтрокаДата); // Добавляем колонку с именем в виде даты
{ВнешняяОбработка.ОтчетПоЗанятостиСпецтехники.Форма.Форма1.Форма(64)}:СформироватьНаСервере();
[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Неверное имя колонки
[ОшибкаИспользованияВстроенногоЯзыка]
Участки кода:
Запрос.Текст =
"ВЫБРАТЬ
| Спецтехника,
| Период,
| Состояние
|ИЗ
| РегистрСведений.ЗанятостьСпецтехники
|ГДЕ
| Период МЕЖДУ &ДатаНачала И &ДатаКонца";
Для Дата = ДатаНачала По ДатаКонца Цикл
СтрокаДата = Формат(Дата, "ГГГГ-ММ-ДД"); // Заменяем дефисы на подчеркивания
Таблица.Колонки.Добавить(СтрокаДата); // Добавляем колонку с именем в виде даты
КонецЦикла;
// Заполняем таблицу данными
Для Каждого Строка Из РезультатЗапроса Цикл
Техника = Строка.Спецтехника;
Дата = Формат(Строка.Период, "ГГГГ-ММ-ДД");// Форматируем дату как строку // Заменяем дефисы на подчеркивания
Состояние = Строка.Состояние;
Мне нужно чтобы в отчете в строках были названия спецтехники, в колонках даты в периоде, а поля - состояние
|
|
1
Волшебник
17.12.24
✎
18:11
|
Так и не смог заменить дефисы на подчёркивания
|
|
2
Волшебник
17.12.24
✎
18:12
|
Это не сработает:
Для Дата = ДатаНачала По ДатаКонца Цикл
|
|
3
DrShad
17.12.24
✎
18:12
|
у тебя есть дубли дат, при повторном создании колонки возникает ошибка
|
|
4
Волшебник
17.12.24
✎
18:12
|
Параметры запроса не заданы, запрос не выполняется
|
|
5
DrShad
17.12.24
✎
18:13
|
ну а вообще все в топку и сделать нормально
|
|
6
Волшебник
17.12.24
✎
18:14
|
Неверный обход результата запроса
|
|
7
Волшебник
17.12.24
✎
18:14
|
Тупой бот
|
|
8
Волшебник
17.12.24
✎
18:15
|
>> реквизиты НачалоПериода и КонецПериода.
А в программном коде они называются по-другому
|
|
9
Волшебник
17.12.24
✎
18:15
|
Чушь и враньё
|
|
10
matthey
17.12.24
✎
18:40
|
(8) ДатаНачала = Объект.НачалоПериода;
ДатаКонца = Объект.КонецПериода;
Я их переопределяю, поэтому с этими переменными все нормально
|
|
11
Волшебник
17.12.24
✎
18:49
|
(10) Вы покажите весь программный код, а то мы будем
Вам оставлять участки
ценных комментариев.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший