powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / 1с отчет
17 сообщений из 17, страница 1 из 1
1с отчет
    #33863747
kk11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть справочник с товарами. есть документ, в котором выбирается покупатель, в многострочной части документа выбираем товары для покупателя. теперь я хочу сделать отчет и показать какие покупатели что покупали. делаю сначала в цикле вывод шапки(значения из справочника). теперь я выбираю документы и вывожу покупателей. а как мне узнать, в какую колонку нужно выводить товар?. т.е. как узнать, что товар А нужно вывести под колонкой 1, а не 2? или может есть стандартный способ вывода?
...
Рейтинг: 0 / 0
1с отчет
    #33863892
Радио
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. отчет делается перебором?
...
Рейтинг: 0 / 0
1с отчет
    #33863901
Menahem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kk11есть справочник с товарами. есть документ, в котором выбирается покупатель, в многострочной части документа выбираем товары для покупателя. теперь я хочу сделать отчет и показать какие покупатели что покупали. делаю сначала в цикле вывод шапки(значения из справочника). теперь я выбираю документы и вывожу покупателей. а как мне узнать, в какую колонку нужно выводить товар?. т.е. как узнать, что товар А нужно вывести под колонкой 1, а не 2? или может есть стандартный способ вывода?

Есть. Если В Вашей конфигурации используются регистры, то можете построить запрос к регистру, по котороу проводится такой документ. У меня, к примеру, это регистр "ПартииТоваров".
Если база большая, то можно сделать запрос через SQL.
...
Рейтинг: 0 / 0
1с отчет
    #33865665
Зеленый человечек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мой вариант такой: из справичника покупателей пыбираете покупателя, создаете таблицу значений с колонками наименование товара, количество, после выбираете доки с данным покупателем, из табличной части выбираете в таблицу значений данные о товаре. После того, как переберете все доки, сворачиваете таблицу значений по колонке наименование с суммированием по количеству. После чего выводите эти данные в таблицу отчета, а именно наименование покупателя, а затем в цикле - сведения о товаре этого покупателя.
...
Рейтинг: 0 / 0
1с отчет
    #33866282
Menahem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зеленый человечекМой вариант такой: из справичника покупателей пыбираете покупателя,

Не подойдёт: человек строит отчёт по всем покупателям за период, а не по одному конкретному.
...
Рейтинг: 0 / 0
1с отчет
    #33866368
А выбрать документы в интервале нельзя, чтоли? Метод ВыбратьДокументы() поддерживает выборку в интервале дат...
...
Рейтинг: 0 / 0
1с отчет
    #33866384
А справочник покупателей так-же в цикле перебрать?
...
Рейтинг: 0 / 0
1с отчет
    #33866431
lat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я понял в строках отчета - покупатели, а в столбцах - товары из справочника.

в подобном отчете у нас было так сделано:
в запросе группировки по покупателям и по товарам

шапка формируется присоединением секции из одной колонки с названием товара к секции строки-шапки

цикл по покупателям
цикл по справочнику товара
цикл по запросу
присоединить секцию с количеством товара из запроса к секции-строке (если несовпадают покупатель и товар то выводится пробел)


с уважением,
...
Рейтинг: 0 / 0
1с отчет
    #33872050
kk11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
latКак я понял в строках отчета - покупатели, а в столбцах - товары из справочника.

в подобном отчете у нас было так сделано:
в запросе группировки по покупателям и по товарам

шапка формируется присоединением секции из одной колонки с названием товара к секции строки-шапки

цикл по покупателям
цикл по справочнику товара
цикл по запросу
присоединить секцию с количеством товара из запроса к секции-строке (если несовпадают покупатель и товар то выводится пробел)


с уважением,

все равно не понятно. может твое решение рабочее, но не пойму такую вещь. меня смущает в отчетах то, что шаблон должен быть описан заранее и вывод по секциям. а как быть, если количество колонок динамическое, как мне вывести под каждой созданной колонкой цифру?
...
Рейтинг: 0 / 0
1с отчет
    #33872574
kk11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может это уже реализовано в готовой стандартной конфигурации? или чтото похожее? кто знает?
...
Рейтинг: 0 / 0
1с отчет
    #33873468
Сисой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1C 8
Объект ПостроительОтчета
Он все это умеет.
...
Рейтинг: 0 / 0
1с отчет
    #33873523
lat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То kk11
Если еще интересно, то попробую объяснить.
Присоединение вертикальной секции позволяет как раз делать динамическое кол-во колонок

вывести секцию-шапка

Цикл по справочнику товара
присоединить вертикальную секцию с названием товара

теперь выводим основную секцию:
Цикл по покупателям
Цикл по справочнику товара
Цикл по запросу
если запрос.покупатель <> покупателю то продолжаем
иначе Если запрос.товар <> справочник.товар то печколво= пробел
иначе печколво= количество, прерываем цикл
присоединяем вертикальную секцию со значением печколво
так как это происходит в том же цикле по справочнику товаров, что и в шапке, то цифра встанет в нужном столбце
...
Рейтинг: 0 / 0
1с отчет
    #33873551
lat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисой1C 8
Объект ПостроительОтчета
Он все это умеет.

так то 8.0 http://www.sql.ru/forum/images/happy.gif
...
Рейтинг: 0 / 0
1с отчет
    #33875212
kk11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо за объяснения и идею! сделал, хотя это явно решение в лоб!
вот интересно, можно ли красивее сделать? например все одним запросом, а не двумя циклами по справочникам+запрос по докуметам? или используя регистры?
или возня будет в любом случае?
...
Рейтинг: 0 / 0
1с отчет
    #33875986
Menahem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kk11спасибо за объяснения и идею! сделал, хотя это явно решение в лоб!
вот интересно, можно ли красивее сделать? например все одним запросом, а не двумя циклами по справочникам+запрос по докуметам? или используя регистры?
или возня будет в любом случае?

Можно. Я, правда, делаю такие вещи (версия 7.7, сильно переработанная "Торговля и склад") запросом по документам и регистру "ПартииТоваров", используя 1С++. В версии 8.0 можно непосредственно в системе написать такой SQL-ный запрос.
...
Рейтинг: 0 / 0
1с отчет
    #33919866
kk11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это опять я с вопросиком. мне нужно выбрать записи за месяц и показать в разрезе по дням. т.е. в первый день сколько всего продано, во второй и т.д.. волнует такая деталь-теоретически в какой то день может не быть продаж, в выборке этого дня не будет как избежать смещения в записях?
нельзя ли как то стандартно получить готовый набор записей с суммой или прийдется возится с датами, сортировать и следить это тот же день или уже новый?
...
Рейтинг: 0 / 0
1с отчет
    #33920459
Сергей84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kk11это опять я с вопросиком. мне нужно выбрать записи за месяц и показать в разрезе по дням. т.е. в первый день сколько всего продано, во второй и т.д.. волнует такая деталь-теоретически в какой то день может не быть продаж, в выборке этого дня не будет как избежать смещения в записях?
нельзя ли как то стандартно получить готовый набор записей с суммой или прийдется возится с датами, сортировать и следить это тот же день или уже новый?
записи продаж по дням поместить в ТЗ, ней должна быть колонка "День", далее делаем вывод
Для Сч = 1 По ДатаКонца-ДатаНачала+1 Цикл
НомСтр = 0;
Если ТЗ.НайтиЗначений(ДатаНачала + Сч - 1,НомСтр,"День") = 1 Тогда
Кол-во = ТЗ.ПолучитьЗначение(НомСтр,"Кол");
Иначе
Кол-во = "";
КонецЕсли;
КонецЦикла;
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / 1с отчет
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]