Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Отчет шахматка в УТ10.3
|
|||
|---|---|---|---|
|
#18+
Всем здравствуйте. У меня возникла проблема с созданием отчета шахматка в УТ10.3. Суть отчета в том, что в строках идет номенклатура, а в столбцах склады (соответственно, в столбцах количество, стоимость и т.д., это не так важно). Проблема именно с выводом отчета, т.е. использую стандартные методы Присоединить() и Вывести() и получаю "некрасивый" отчет. Просто хотелось бы, идя по выборке из запроса, добавлять при необходимости колонки склада и заносить в нужные колонки (т.е. на пересечениях колонок и строк) данные. код формирования отчета такой: Макет = ОтчетОбъект.ПолучитьМакет("Шахматка"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстаткиИОбороты.Склад, | ТоварыНаСкладахОстаткиИОбороты.Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, | ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, | ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход, | ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход |ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаОконч,) КАК ТоварыНаСкладахОстаткиИОбороты |ГДЕ | ТоварыНаСкладахОстаткиИОбороты.Склад = &Склад ИЛИ ТоварыНаСкладахОстаткиИОбороты.Склад = &Склад1 |СГРУППИРОВАТЬ ПО | ТоварыНаСкладахОстаткиИОбороты.Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, | ТоварыНаСкладахОстаткиИОбороты.Склад, | ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, | ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход, | ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход"; Запрос.УстановитьПараметр("ДатаНач", ДатаНач); Запрос.УстановитьПараметр("ДатаОконч", ДатаОконч); Запрос.УстановитьПараметр("Склад", Склад); Запрос.УстановитьПараметр("Склад1", Склад1); Результат = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ОбластьСклады = Макет.ПолучитьОбласть("Склады"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаДетали = Результат.Выбрать(); ТаблицаСкладов = Новый ТаблицаЗначений; ТаблицаСкладов.Колонки.Добавить("Склад"); Пока ВыборкаДетали.Следующий() Цикл СкладУжеЕсть = Ложь; КолонкаСклада = 0; Для Инт = 0 По ТаблицаСкладов.Количество()-1 Цикл Если ТаблицаСкладов[Инт].Склад = ВыборкаДетали.Склад Тогда СкладУжеЕсть = Истина; КонецЕсли; КонецЦикла; Если СкладУжеЕсть = Ложь Тогда ОбластьСклады.Параметры["Склад"] = ВыборкаДетали.Склад; ОбластьСклады.Параметры["ХарактеристикаНоменклатуры"] = ВыборкаДетали.ХарактеристикаНоменклатуры; ОбластьСклады.Параметры["Сумма"] = "12345"; ОбластьДетальныхЗаписей.Присоединить(ОбластьСклады); СтрокаСклада = ТаблицаСкладов.Добавить(); СтрокаСклада.Склад = ВыборкаДетали.Склад; ОбластьДетальныхЗаписей.Параметры["Номенклатура"]= ВыборкаДетали.Номенклатура; ТабДок.Вывести(ОбластьДетальныхЗаписей); Иначе ОбластьДетальныхЗаписей.Параметры["Номенклатура"]= ВыборкаДетали.Номенклатура; ОбластьСклады.Параметры["ХарактеристикаНоменклатуры"] = ВыборкаДетали.ХарактеристикаНоменклатуры; ОбластьСклады.Параметры["Сумма"] = "1234"; ТабДок.Вывести(ОбластьДетальныхЗаписей); КонецЕсли; КонецЦикла; ТабДок.Показать("Шахматка"); Может быть есть какой-то пример по формированию шахматки. Все-таки, отчет распространенный. Или подскажите, как лучше его формировать. Картинка с результатом и макетом прикреплены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2009, 15:20 |
|
||
|
Отчет шахматка в УТ10.3
|
|||
|---|---|---|---|
|
#18+
Кури мехнизм компоновки данных. Там такой отчет минут за 5 настраивается. Или используй хотя бы ПостроительОтчета. В мире 1С 8 не принято строить шахматки тупыми методами 7.7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2009, 16:27 |
|
||
|
Отчет шахматка в УТ10.3
|
|||
|---|---|---|---|
|
#18+
Сисой, так я бы и не против, вроде как. Просто здесь для меня ринципиальным является вид конечной таблицы отчета. Т.е. такие вещи, как напримр, ширина колонок и др. Это можно как то настроить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2009, 22:24 |
|
||
|
Отчет шахматка в УТ10.3
|
|||
|---|---|---|---|
|
#18+
По мере выборки и получится,то что получилось. А отчет весьма распостраненный.В 7.7 его тоже получают методом присоединения,только в начале строится шапка,со всеми складами запроса (смотри ТиС 9.2). В 8.1 все намного проще:в компоновке настраивается такой отчет.Для продвинутого пользователя - можно и макет свой сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2009, 00:01 |
|
||
|
Отчет шахматка в УТ10.3
|
|||
|---|---|---|---|
|
#18+
rubiСисой, так я бы и не против, вроде как. Просто здесь для меня ринципиальным является вид конечной таблицы отчета. Т.е. такие вещи, как напримр, ширина колонок и др. Это можно как то настроить? Да, в СКД настраивается ширина колонок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2009, 08:04 |
|
||
|
Отчет шахматка в УТ10.3
|
|||
|---|---|---|---|
|
#18+
если без СКД, то этот запрос гарантирует "полную" шахматку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2009, 10:31 |
|
||
|
Отчет шахматка в УТ10.3
|
|||
|---|---|---|---|
|
#18+
Naf, спасибо большое, подошло и очень помогло. Я этот запрос поместил в сводную таблицу (просто так внешний вид больше подходит). Но группировку там сделал по складам (т.е. в строках номенклатура, колонки - склады и детализация колонок складов - коност, приход и расход). Так вот, вопрос в том, что можно ли как то убрать из детализации часть колонок (напр, приход и расход), а оставить только итоги по ним? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2009, 14:36 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=35926911&tid=1523831]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 282ms |

| 0 / 0 |
