Имя: Пароль:
1C
1С v8
Области в табличном документе
, , ,
0 baribars
 
04.02.22
17:41
Туплю и не мог понять как добиться следующего. Ситуация: В цикле вывожу данные в таблицу по областям. Необходимо чтобы области повторялись, но не горизонтально шли друг за другом, а по две на лист, то есть одна, справа за ней вторая, потом третья снова слева и четвертая справа, то есть в два ряда. Но сразу вывести два ряда не могу данные заполняются в цикле, т.е. идет выборка -первая запись в первую, вторая во вторую часть. Область, в которую выводятся данные не одна. И если делаю при выводе второй формы справа Присоединить, то присоединяет шапку к последней области, что была выведена слева. А мне надо чтобы выводилось с самого начала.
1 Ёпрст
 
04.02.22
17:43
Заполни 2 таб дока по отдельности, потом второй вставь в первый справа.
2 Ёпрст
 
04.02.22
17:44
Или при обходе 2 цикла вставляй свои значения в уже сформированный табличный документ через Область(1,10,1,10).Текст = вася
3 baribars
 
04.02.22
17:46
(2) не получится так - должны выводится строки и сколько их неизвестно
4 Ёпрст
 
04.02.22
17:46
(3) и че ? В чем проблема то ?
5 baribars
 
04.02.22
17:47
то есть должно быть так
шапка - вася, строки : 5,7,9,15; справа - петя, строки 3,4,4,7,7,9. Причем значение строк справа и слева может быть разным.
6 Ёпрст
 
04.02.22
17:47
Ты просто будешь ручонками рисовать рамочку в область и устанавливать иекст и параметр области, если нужен
7 Ёпрст
 
04.02.22
17:49
(15) покажи картинку, как должно выглядеть в финале.
Не ясно, откуда у тебя пустые строки
8 baribars
 
04.02.22
17:52
(7) у меня не пустые строки, идет выборка - выбираем васю - у него может быть 5 строк со значениями, у пети, что должен выводиться вторым столбцом - может быть три строки, а может быть 10.
9 Ёпрст
 
04.02.22
17:55
(8) И ? Ну и будет у тебя

Вася   Петя
1        1
2        2
3        3
Маша     4
1        5
2      Настя
3        1
10 Ёпрст
 
04.02.22
17:56
Че не устраивает то ?
11 baribars
 
04.02.22
17:58
(10) а возможно чтобы Маша начиналась на уровне окончания пети?
т.е. ниже последней строки пети?
12 baribars
 
04.02.22
17:59
(10) маша это шапка, если при таком подходе я выведу машу, то справа тоже должна выйти шапка
13 baribars
 
04.02.22
18:01
(10) или же всю таблицу рисовать программно?
14 Ёпрст
 
04.02.22
18:03
(11) Можно, можно даже вставлять области..но, это не верный путь.
Гораздо правильнее, изначально иметь правильные данные, тупол сделав полное соединение в тексте запроса И потом простой вывод без всякий Присоединить.
15 baribars
 
04.02.22
18:07
(14) выборка идет из табличной части одного документа, что с чем соединять? просто нужно выводить в два столбца
16 Ёпрст
 
04.02.22
18:16
(15) четные строки с нечетными. Я ж не знаю, по какому критерию у тебя второй цикл ?
17 baribars
 
04.02.22
18:25
(16) первый цикл выбирает петю васю и машу - они выводятся в шапке, а второй цикл - выводит строки по ним, шапка всегда одинаковая, а строк может быть разное количество у всех
18 Ёпрст
 
04.02.22
18:27
(17) как это в доке выглядит ? Куча строк с Петей, потом с Васей, потом... ?
19 Ёпрст
 
04.02.22
18:53
На вот, занимайся


ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
    АВТОНОМЕРЗАПИСИ() КАК НомерСтроки
ПОМЕСТИТЬ Табличка
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
    РеализацияТоваровУслугТовары.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслугТовары.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
    РеализацияТоваровУслугТовары.Количество КАК Количество,
    Табличка.НомерСтроки КАК НомерСтроки,
    РеализацияТоваровУслугТовары.НомерСтроки КАК НомерСтрокиВДокументе
ПОМЕСТИТЬ ТабличкаЧетныеСтроки
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Табличка КАК Табличка
        ПО (Табличка.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура)
            И (Табличка.НомерСтроки / 2 = (ВЫРАЗИТЬ(Табличка.НомерСтроки / 2 КАК ЧИСЛО(15, 0))))
ГДЕ
    РеализацияТоваровУслугТовары.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
    РеализацияТоваровУслугТовары.Количество КАК Количество,
    Табличка.НомерСтроки + 1 КАК НомерСтроки,
    РеализацияТоваровУслугТовары.НомерСтроки КАК НомерСтрокиВДокументе
ПОМЕСТИТЬ ТабличкаНЕЧетныеСтроки
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Табличка КАК Табличка
        ПО (Табличка.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура)
            И (Табличка.НомерСтроки / 2 <> (ВЫРАЗИТЬ(Табличка.НомерСтроки / 2 КАК ЧИСЛО(15, 0))))
ГДЕ
    РеализацияТоваровУслугТовары.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТабличкаЧетныеСтроки.Номенклатура КАК Номенклатура,
    ТабличкаЧетныеСтроки.Количество КАК Количество,
    ТабличкаНЕЧетныеСтроки.НомерСтрокиВДокументе КАК НомерСтрокиВДокументе,
    ТабличкаНЕЧетныеСтроки.Номенклатура КАК Номенклатура1,
    ТабличкаНЕЧетныеСтроки.Количество КАК Количество1,
    ТабличкаЧетныеСтроки.НомерСтрокиВДокументе КАК НомерСтрокиВДокументе1
ИЗ
    ТабличкаЧетныеСтроки КАК ТабличкаЧетныеСтроки
        ПОЛНОЕ СОЕДИНЕНИЕ ТабличкаНЕЧетныеСтроки КАК ТабличкаНЕЧетныеСтроки
        ПО ТабличкаЧетныеСтроки.НомерСтроки = ТабличкаНЕЧетныеСтроки.НомерСтроки


Можешь в результирующей табличке еще при желании, оставить по 1 записи, где номерСтрокиДокумента повторяется, но проще при обходе этого запроса уже слепить.
20 baribars
 
04.02.22
18:54
(18) строка с васей, есть реквизит по которому получаем табличную часть из которой берем строки для вывода. затем вася - тоже самое и так далее
21 mistеr
 
04.02.22
18:59
(11) Тебе нужно научиться обходить строки в нужном порядке: (Вася 1, Петя 1, Вася 2, Петя 2, и т.д.) и выводить. Если соответствующей строки нет, выводишь пустую область.

Вывод по колонкам 1С не умеет.
22 baribars
 
09.02.22
16:40
(19) алгоритм понятен, но что это? я написал, что у меня идет выборка табличной части, в ней реквизит, по которому получаем доступ ко второй табличной части и из которой уже выводятся строки.
Выборка из первой ТЧ идет в шапку и это можно сделать без этого запроса, вроде как
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан