Имя: Пароль:
1C
 
Вывод несвязанных наборов СКД рядом по горизонтали
0 Franchiser
 
гуру
26.07.18
15:32
Нужно в СКД вывести 2 несвязанных набора рядом
Примерно так:
Документы 1          Документы 2
рекв 1 рекв 2 Рекв 3    Рекв 4 Рекв 5

Как это сделать?
1 Ботаник Гарден Меран
 
26.07.18
15:37
Пронумеровать каждый и соединить по номеру в один расширенный (по колонкам) набор.
2 Franchiser
 
гуру
26.07.18
15:49
Ок, есть нормальный вариант нумерации в запросе в пределах группировки, записей около 1 млн
3 kittystark
 
26.07.18
15:52
сначала вывести стандартными средствами (один набор, ниже второй)

в ПриКомпоновкеРезультата воспользоваться методами табличного документа копирования и удаления областей
4 kittystark
 
26.07.18
15:53
ОФФ: к модераторам - почему мои сообщения автоматически относятся к коду 1С, хотя тэгов я никаких не ставил
5 Малыш Джон
 
26.07.18
15:55
(4) ну видимо скрипт чувствует в твоих словах какую-то одинэсинку)
6 Малыш Джон
 
26.07.18
15:55
(2) бабочкой)
7 Малыш Джон
 
26.07.18
15:56
+(6) в смысле - баттерфляй, который
8 Franchiser
 
гуру
26.07.18
15:56
(3) да, вариант, но отчёт настраиваемый, неизвестно какие будут колонки дополнительные
9 Малыш Джон
 
26.07.18
15:56
+(7) но я бы не назвал его нормальным
10 Franchiser
 
гуру
26.07.18
15:58
(8) + в отчёт д.б. нумерация строк и при фильтрации 1го набора данные второго так же д.б. выведены по строкам которые шли до фильтрации
11 kittystark
 
26.07.18
16:01
(8) табДок.ШиринаТаблицы - поможет
гемор будет с определением номера строки ТДЮ с которого начинается второй набор
12 kittystark
 
26.07.18
16:02
(11)* ТДЮ > ТД
13 Franchiser
 
гуру
26.07.18
16:06
(11) Есть фильтрация по полям несвязанных наборов данных, поэтому вариант не прокатывает. И пожелание заказчика в этом случае показывать данные несвязанного набора по той строке по которой была фильтрация до наложения фильтра
14 Franchiser
 
гуру
26.07.18
16:07
(11) не понял что дает ШиринаТаблицы
15 PCcomCat
 
26.07.18
16:10
Делала как в (1) на днях. Данные связаны только по Статье ДДС и номеру строки. Использовала построитель запросов, запрос и после всё это в СКД как ВнешнийНаборДанных = объект. В СКД добавлены поля только для отбора, которые выводятся в разных колонках, соответственно имена у них разные, но в настройке структуры доступны вторые, а обобщенные первые скрыты.
Обобщенные первые используются в построителе. Построитель использовался на каждый отбор отдельно. Результат пронумеровывался.  Затем запросом все данные соединялись, и результат во ВнешнийНаборДанных.
16 Franchiser
 
гуру
26.07.18
16:13
(15) а как вы пронумеровали, через ТЗ ?
17 PCcomCat
 
26.07.18
16:14
ПостроительЗапроса.Выполнить();
    РезультатЗапроса =  ПостроительЗапроса.Результат;
    
    ТаблицаРасхода = Новый ТаблицаЗначений;
    ТаблицаРасхода.Колонки.Добавить("НомерСтрокиПоСтатьеДДС", Новый ОписаниеТипов("Число"), "№ стр. по статье ДДС");
    Для каждого Колонка из РезультатЗапроса.Колонки цикл
        ТаблицаРасхода.Колонки.Добавить(Колонка.Имя,Колонка.ТипЗначения);    
    КонецЦикла;
    
    ВыборкаСтатьиДДС = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока ВыборкаСтатьиДДС.Следующий() цикл
        НомерСтроки = 1;
        
        ВыборкаЗаписей = ВыборкаСтатьиДДС.Выбрать();
        Пока ВыборкаЗаписей.Следующий() цикл
            НоваяСтрока = ТаблицаРасхода.Добавить();
            ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаЗаписей);
            НоваяСтрока.НомерСтрокиПоСтатьеДДС = НомерСтроки;
            
            НомерСтроки = НомерСтроки + 1;
        КонецЦикла;    
    КонецЦикла;
18 Franchiser
 
гуру
26.07.18
16:15
(17) с нумерацией в ТЗ идея понятна, я думал может есть что-то покрасивее.
19 Малыш Джон
 
26.07.18
16:16
(17) а количество строк какое было?
20 PCcomCat
 
26.07.18
16:17
Небольшое. Отчет только для необработанных документов.
21 Малыш Джон
 
26.07.18
16:17
(18) попробуй метод "баттерфляй": красота - неописуемая)
22 Franchiser
 
гуру
26.07.18
16:18
(21) не знаю геморройный какой-то метод, разбираться надо
23 Franchiser
 
гуру
26.07.18
16:19
(21) мне нужна нумерация в рамках 1 или 2х общих измерений только
24 PCcomCat
 
26.07.18
16:21
Можно пронумеровать и в СКД - на каждый набор своя схема, а затем вывод в отдельный табДок. В итоговом табДоке вывести и присоединить. А пользователю предоставить СКД с нужными настройками, которые будете использовать в соих для каждого набора как вам нужно.
25 aleks_default
 
26.07.18
16:22
а что объединением запросов в одном наборе не сделать?
26 aleks_default
 
26.07.18
16:23
названия полей только уникальные сделать
27 Franchiser
 
гуру
26.07.18
16:23
(24) Нужна нумерация в рамках 1го измерения, в СКД только левое соединение есть. Можно ли в СКД соединять в рамках нумерации в пределах группы?
28 PCcomCat
 
26.07.18
16:23
(25)В запросе нумеровать?
29 Franchiser
 
гуру
26.07.18
16:23
(25) потому что нужно вывести наборы на уровне одной строки
30 Ботаник Гарден Меран
 
26.07.18
16:23
Да, публикации Ildarovich - замечательные.
Разбираться надо минимум, почти всё с небольшим допилом можно использовать.
31 PCcomCat
 
26.07.18
16:24
(27) Кстати, да  -  левое соединение и остановило, т.к. нужно было полное
32 aleks_default
 
26.07.18
16:25
(29) ну сгруппируешь в структуре настроек
33 Franchiser
 
гуру
26.07.18
16:26
(32) да у меня не группировок.
Плоский отчет, упорядоченный определенным образом. В 1-й строки остатки по покупателю, далее строки по оборотам.
34 PCcomCat
 
26.07.18
16:28
А в одном запросе такое разве не собрать? В СКД Максимум(Остаток)
35 PCcomCat
 
26.07.18
16:29
Хотя, не видя задачи, много можно гадать.
36 aleks_default
 
26.07.18
16:31
Т.е. у каждого набора еще и не одинаковое количество строк?
37 PCcomCat
 
26.07.18
16:32
(36) Не всё так просто, да?))
38 Franchiser
 
гуру
26.07.18
16:33
(36) да есть оплаты и отгрузки несквитованные между собой
39 aleks_default
 
26.07.18
16:34
(37)Просто интересно как это будет выглядеть.
40 Franchiser
 
гуру
26.07.18
16:34
Покупатель1
Оплаты Отгрузки
Покупатель2
Оплаты Отгрузки
41 aleks_default
 
26.07.18
16:35
(39)+ с точки зрения ТС
42 aleks_default
 
26.07.18
16:37
понятнее не стало
43 PCcomCat
 
26.07.18
16:38
(38) Нечто похожее у меня, но только по операциям движения ДС между организациями.
44 aleks_default
 
26.07.18
16:41
Ну т. е. это должно быть что-то вроде шахматки или одной строкой?
45 Franchiser
 
гуру
26.07.18
16:45
(44) Для экономии (укорачивания строк) в отчете нужно показать все в 1-й строке, а не в разных строках
46 aleks_default
 
26.07.18
17:17
(45) Т.е  все таки одна строка в каждом из наборов, тогда почему нельзя сделать объединением с разыменованием колонок и последующей группировкой?
47 aleks_default
 
26.07.18
17:17
по МАКСИМУМ например
48 Franchiser
 
гуру
26.07.18
17:22
(46) да нет же в 1-й сткроке д.б. соответствий случайное отгрузки и оплаты.
Покупатель1
Оплата1 Отгрузка1
Оплата2 Отгрузка3
        Отгрузка4


Покупатель2
Оплата7 Отгрузка5
Оплата8
49 aleks_default
 
26.07.18
17:44
ну не знаю можно покопать куданибудь в сторону СоединитьСтроки()
50 Franchiser
 
гуру
26.07.18
20:12
(21) что-то я не понял про баттерфляй:
Написано,
1. что метод нужен для расчета нарастающего итога, при этом строки уже должны быть пронумерованы
2. Для использования функции по динамическому тексту запроса нужно передать параметр с количеством строк, который как то нужно рассчитать, при этом пишут что подменяемый запрос находится в скд
51 bolder
 
27.07.18
08:55
(43) И у Вас получилось создать подобное (46)?Приведите пример вывода,если можно.
52 aleks_default
 
27.07.18
11:33
Вот так не пойдет?
https://yadi.sk/i/tFrEHUU-3ZdEin
53 Franchiser
 
гуру
27.07.18
13:25
(52) не понял что это
54 aleks_default
 
27.07.18
14:05
(53) Пример вывода в одной строке с помощью метода СоединитьСтроки
55 PCcomCat
 
27.07.18
15:47
(51) Я не делала ка в (46). Метод описала в (15).
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший