Имя: Пароль:
1C
1С v8
Перекрестный запрос или результат запроса в перекрестную таблицу
,
0 igel1969
 
10.06.15
16:03
Здравствуйте!

Итак, у меня есть некий отобранный список номенклатур. В момент написания запроса я еще не знаю, какие это будут номенклатуры.
И далее мне нужно отобрать продажи по этим номенклатурам и запихнуть это все в ТЗ.
Для ясности примера - мне нужен точно такой же результат (только он мне нужен в моей программе, чтобы можно было с ним дальше работать), как если бы я в 1С 8.2 зашел в меню Отчеты-Продажи-Анализ Продаж-Продажи.
Там бы в настройках выбрал бы: Группировка строк: Контрагенты. Группировка столбцов: Номенклатура. Ну и в отборе сделал бы отбор по номенклатуре из списка.

Если же делать это в запросе, то результат получается плоским, одномерным:
Контрагент, Номенклатура, продажи (количество).

А мне надо, чтобы на выходе была ТЗ, в которой строки - это контрагенты, столбцы - это номенклатура, а в перекрестии - продажи.

Я могу сперва создать ТЗ, в котором столбцами будет номенклатура, затем пробежаться по всему запросу, насоздавать по строке на контрагента и заполнить перекрестия. Медленно все это работает.

Может есть какое-то штатное средство? перекрестный запрос? или штатный способ закинуть результат "плоского" запроса в перекрестную таблицу?
1 butterbean
 
10.06.15
16:06
это всего лишь визуализация, получай запросом итоги по контрагенту и номенклатуре, а потом показывай юзеру как хочешь
2 VikingKosmo
 
10.06.15
16:06
СКД?
3 mikecool
 
10.06.15
16:06
есть штатное средство - скд
4 DmitrO
 
10.06.15
16:07
вот тут ошибка: "и запихнуть это все в ТЗ"
всем 1сникам хочется все запихнуть в ТЗ :))
5 Михаил Козлов
 
10.06.15
16:07
В отчет вывод результата запроса в табличный документ оформляет группировки.
Мне кажется, колонки (Номенклатура) в ТЗ совсем необязательны: можно оформить итоги в запросе и выбирать данные, обходя результат запроса по группировкам.
6 VikingKosmo
 
10.06.15
16:09
(4) ну что за алгоритм если в нем нет ТЗ?!
7 DmitrO
 
10.06.15
16:10
(6)не знаешь как поступить? - запихни все в ТЗ :)
8 VikingKosmo
 
10.06.15
16:12
(7) что то мне кажется, что это первый шаг к кнопке "шобсошлось"))
9 igel1969
 
10.06.15
16:20
Несмотря на то, что хочется научится новым приемам и поэтому общий вопрос не снимается с повестки дня, но все-таки задам еще один более узкий подвопрос:

вот в 1С можно сделать штатными средствами кучу отчетов, в том числе где данные будут сгруппированы по контрагентам. Но меня начальство (а их поставщики) всегда требуют, чтобы рядом с контрагентом стоял АДРЕСССССССС, БИЛЯТЬ СУКА!!!!!!! и из-за этого каждый раз, вместо использования стандартных отчетов приходится писать СВОИ СУКА КАК МЕНЯ БЕСИТ ЭТИМ 1С!!!!!

КАК, ну КАК в стандартный отчет, который я описал в основном вопросе - запихнуть еще и адрес, причем чтобы он был не иерархически, а рядом с контрагентом!
10 VikingKosmo
 
10.06.15
16:21
(9) писать отчеты на СКД?
11 DmitrO
 
10.06.15
16:24
(9)да, пора уже начать изучать СКД, а то так и до нервного срыва не далеко )
12 DmitrO
 
10.06.15
16:25
(9)1С и СКД тебя бесить не перестанет, но будет полегче
13 VikingKosmo
 
10.06.15
16:26
(12) СКД начнет бесить в разы больше, но по другому поводу :)
14 DmitrO
 
10.06.15
16:28
(13)как говорит будда - земная жизнь это страдания от привязанностей
15 Drac0
 
10.06.15
16:30
(9) тебе про СКД уже говорили?
16 VikingKosmo
 
10.06.15
16:31
(15) не только говорили, но уже успели обсудить страдания тех, кто работает с СКД
17 Михаил Козлов
 
10.06.15
16:38
Может быть добавить контрагенту реквизит "Адрес" и пусть в отчетах оформляют доп.поле?
18 samozvanec
 
10.06.15
16:45
(9) (17) СКД позволяет довольно просто использовать свойства ПВХ, как будто это реквизиты объекта
19 DmitrO
 
10.06.15
16:50
(18)и не только ПВХ, а даже любые поля того же уровня могут стать "как будто это реквизиты объекта"
20 samozvanec
 
10.06.15
16:55
(0) забегая вперед, хочу заметить, что ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначенийИмениБорисаГеоргиевичаНуралиеваБудьОнЗдоров не поддерживает настройку схемы Таблица. не понимает неконстантное количество колонок. хотя зачем тебе номенклатура в колонках, я и сам не понимаю.
21 samozvanec
 
10.06.15
16:56
(19) что значит "любые поля того же уровня"?
22 mehfk
 
10.06.15
16:56
(9) Про СКД и Универсальный отчет слышал?
23 Kiks
 
10.06.15
16:59
Номенклатура в колонках? Мсье знает толк в извращениях...
24 ОператорПК
 
10.06.15
17:22
(0) "Медленно все это работает." - покажи как сделал.
25 МихаилМ
 
10.06.15
17:55
(0) алгоритм
получили список товаров
создали тз товар,  номер колонки
получили список контров
создали тз контрагент, номер строки

создали тз  колко колонок =  колво товаров
создали пустые строки тз


пробежались по выборке и заполнили тз

для каждого значения нашли по котрагенту номер строки
по товару номер колонки .  

задача на профпригодность . на 10 минут.
26 VikingKosmo
 
10.06.15
17:57
(25) бэк ту 7.7...
27 МихаилМ
 
10.06.15
18:02
(26)

описан простейший алгоритм.

более оптимальный работает быстрее скд в разы.
28 igel1969
 
10.06.15
18:05
(25) сделал сразу так, работает медленно
29 igel1969
 
10.06.15
18:06
извините за отсутствие, был на совещании.
30 SUA
 
10.06.15
18:10
есть некоторая проблема
не описанная в (0)
а именно
в колонке не может быть номенклатура
поскольку имя колонки это ни разу не ссылочный тип данных
и да... (25) вполне себе шустро работает даже в управляемых формах (единственно где такая тз может быть полезной для дальнейшей ручной обработки, практический пример - ценообразование УТ11), для программной плоская таблица лучше
31 МихаилМ
 
10.06.15
18:27
(28)

дальше есть куча оптимизаций

1) переход от ссылок к числовым индексам. в запросе.
     + на ИСе есть ветка о быстром создании пустой тз.


2) если известно, что матрица будет не разряжена,
   то замена построчного алгоритма поколоночным.
32 igel1969
 
10.06.15
18:56
я покурил СКД и получилось без всякой программы.
Спасибо.
единственно, у этой СКД тупой 1С-ный интерфейс. Т.е. представьте, отчет сделанный на СКД будет открывать генеральный - нажимать Настройки, забивать параметры. Куда удобнее своя форма, где вывел удобно и понятно нужные поля - дата "с" "по", группа товара такая-то и т.д.... все красиво и сделано для тупого пользователя.
завтра попробую покурить совмещение - сделать отчет в СКД, а заполнение параметров и инициализация формирования отчета (большая удобная кнопка) на своей форме.
33 patria0muerte
 
11.06.15
08:03
(32) Ну так нарисуй свою форму универсальную и в свойствах конфигурации поставь ее как форму для отчета по умолчанию... вроде даже где то на ИТС была форма какая то типовая...

А вообще нужные параметры и отборы в СКД можно включать в пользовательские настройки и юзерам не придется в настройки лезть...

И вообще - юзай варианты отчетов в таком случае - вообще бед не будешь знать...
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший