Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отчет ШАХМАТКА!!!(Погогите)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
lenikwav
Уважаемые форумчане!!! Помогите, пожалуйста, с формированием отчета. Есть документ Вагон, состоящий из шапки и табличной части, с запасными частями снятыми с вагона во время ремонта. Запчасти вводятся в табличную часть. Нужно построит отчет где во строкам будут номера вагонов, по столбцам названия запасных частей, а на их пересечении количество запчастей снятых с вагона.
5_kopeek
Например, такой вариант. Сделать запрос по документам вагон, первая группировка по номеру вагона (вероятно, это вагон и есть), вторая по снятым запчастям. Делаем таблицу значений: 1 колонка -- номер вагона, последующие -- снятые запчасти. Проходим результаты запроса и заполняем таблицу: новый вагон -- новая строка; если колонка с такой запчастью уже есть, добавляем к-во в нее, если нет -- создаем новую колонку.
Обходим строки таблицы значений и выводим рез-ты в печатную форму. Надеюсь, к-во наименований запчастей умеренно. Можно сделать таблицу соответствий названий колонок и запчастей, если наименования запчастей сложные и/или длинные.
А можно вообще запросом обойтись без всяких таблиц, использовать Все ВошедшиеВЗапрос. Пройтись по группировкам и рез-ты сразу в печатную форму.
awp
Цитата(5_kopeek @ 16.02.11, 15:24) необходимо зарегистрироваться для просмотра ссылки
Например, такой вариант. Сделать запрос по документам вагон, первая группировка по номеру вагона (вероятно, это вагон и есть), вторая по снятым запчастям. Делаем таблицу значений: 1 колонка -- номер вагона, последующие -- снятые запчасти. Проходим результаты запроса и заполняем таблицу: новый вагон -- новая строка; если колонка с такой запчастью уже есть, добавляем к-во в нее, если нет -- создаем новую колонку.
Обходим строки таблицы значений и выводим рез-ты в печатную форму. Надеюсь, к-во наименований запчастей умеренно. Можно сделать таблицу соответствий названий колонок и запчастей, если наименования запчастей сложные и/или длинные.
А можно вообще запросом обойтись без всяких таблиц, использовать Все ВошедшиеВЗапрос. Пройтись по группировкам и рез-ты сразу в печатную форму.


Попытка
Т.УстановитьЗначение(....);
Исключение
Т.НоваяКолонка(Наименование запасной части);
Т.УстановитьЗначение(....);
КонецПопытки
lenikwav
А как в запросе обратиться к Табличной части документа? Потому что Обращение Деталь = Документ.Вагоны.Наименование выводит пустой результат.
5_kopeek
Цитата(lenikwav @ 17.02.11, 14:27) необходимо зарегистрироваться для просмотра ссылки
А как в запросе обратиться к Табличной части документа? Потому что Обращение Деталь = Документ.Вагоны.Наименование выводит пустой результат.

Вообще-то, так и обратиться, по имени. Меня интересует тип значения реквизита Наименование табличной части документа Вагоны. Тогда можно будет рассуждать дальше.
Совет. Если Вы не очень дружите с запросами, пользуйтесь конструктором запросов. Он не только упростит процесс и поможет Вам избежать многих ошибок, но и облегчит понимание структуры запроса.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.