Имя: Пароль:
1C
1C 7.7
v7: Проблема не покидающая меня...
0 abbas
 
22.10.12
14:24
Боброе время суток...
Есть отчет, который выдает информацию, а расширяется отчет по горизонтали, то есть какой контрагент купил товар и его количество...

          |   01.02.2012   ||   02.02.2012   ||   03.02.2012     |
Контрагент | Сапоги | Носки || Туфли | Трусы  || Майка | Футболка |
-------------------------------------------------------------------
ОсОО "Зая" |    10  |       || 15    |        ||       |          |
ОсОО "Мая" |     5  |   10  ||       |   100  ||       |          |
ОсОО "Фея" |        |       ||   6   |        ||   15  |      10  |

Не получается с присоединением секций, как это реализовать подскажите плс...
1 abbas
 
22.10.12
14:24
Блин все скривилось...
2 Aleksey
 
22.10.12
14:25
я через область это делаю
3 Джордж1
 
22.10.12
14:25
ВывестиСекцию ... ПрисоединитьСекцию
4 GLazNik
 
22.10.12
14:25
(0) типовые посмотри...
а вообще ПрисоеденитьСекцию
5 Aleksey
 
22.10.12
14:25
(4) неполучится
6 Aleksey
 
22.10.12
14:26
у тебя клиент выбрал не весь товар, толи либо изначально рисовать по горизантали полную ТЗ и заполнять, или через найти извращаться
7 Джинн
 
22.10.12
14:28
(5) У всех получается, а у автора нет?
8 1Сергей
 
22.10.12
14:28
В запросе:

Группировка Труселя Все ВошедшиеВЗапрос;

и + (3)
9 Zmich
 
22.10.12
14:28
(6). Группировка Номенклатура Все ВошедшиеВЗапрос
10 GLazNik
 
22.10.12
14:29
(6) чего-чего? все получится... вопрос только в том, как ТС получается данные... если через запрос, то через Все ВошедшиеВЗапрос
11 Aleksey
 
22.10.12
14:29
(10) обычно не в запросе, а сбор даннам
12 Надсмотрщик
 
22.10.12
14:33
А не ОХ...Л ли ТС с такими отчетами?
Это сколько колонок будет в таблице?
Какого размера будет портянка?
13 Mikeware
 
22.10.12
14:34
(12) А может, у него только 10 наименований?
14 pofigos
 
22.10.12
14:35
(0) Индексированная таблица будет вроде как самый оптимальный вариант.
15 Надсмотрщик
 
22.10.12
14:35
(13) Конфа 1С:Коробейник?
16 Mikeware
 
22.10.12
14:37
(15) не обижай коробейников...
судя по названиям, он обмундирование солдат учитывает...
17 GLazNik
 
22.10.12
14:38
(16) продает собственность государства? :)
18 Надсмотрщик
 
22.10.12
14:38
(16) 10 наименований на 30 дней = Туева Хуча колонок!!!
19 Надсмотрщик
 
22.10.12
14:40
(16) "какой контрагент купил товар и его количество... " - Не???
20 aka AMIGO
 
22.10.12
14:40
(0)"Есть отчет" - так уже он написан?
или "Есть идея отчета"?
21 Mikeware
 
22.10.12
14:41
(17) ага. 1С:распил
22 aka AMIGO
 
22.10.12
14:41
(18)это не важно.. я делал такой отчет для автокомбината, расход бензина по суткам, вполне устраивало бушек
23 Mikeware
 
22.10.12
14:42
А вообще, название темы на редкость грамотное.
ТС хорошо понял суть проблемы, и довольно правильно ее диагностировал...
24 Надсмотрщик
 
22.10.12
14:43
(22) Привыкших к БУМАЖНОЙ Шахматке?
25 GLazNik
 
22.10.12
14:43
(18) ой... а там еще и дата... тогда группировкой нифига не выйдет... нуна извращаться.... если без привлечения внешних библиотек, то можно че нить придумать через несколько ТЗ.
А вообще... если заказчик(пользователь) захотел такой отчет, то наверное именно такой оно ему и надо...
26 Надсмотрщик
 
22.10.12
14:44
(25) 1 запрос в 1 ТЗ - и вся любовь!
27 chief accountant
 
22.10.12
14:46
(24) да не обязательно, есть ведь типовые формы (обязательные), н-р
НАКОПИТЕЛЬНАЯ ВЕДОМОСТЬ № ____
по приходу продуктов питания
ф.0504037
принцип как у ТС
28 aka AMIGO
 
22.10.12
14:46
(25) через одну ТЗ..
29 Mikeware
 
22.10.12
14:46
(25) имхо, заказчих хочет что-то типа http://i037.radikal.ru/1210/a6/df72fae7b574.jpg
30 chief accountant
 
22.10.12
14:47
(25) в типовой давно уже всё придумано
31 Надсмотрщик
 
22.10.12
14:50
(29) Нет. Товары тоже по колонкам среди даты.
32 chief accountant
 
22.10.12
14:52
(29) скорее вот такое:
http://img855.imageshack.us/img855/8273/69942496.png
33 aka AMIGO
 
22.10.12
14:52
ТЗЗ = СоздатьОбъект("ТаблицаЗначений");
   ТЗЗ.НоваяКолонка("Клиент");
   Год1 = ДатаГод(ВыбНачПериода);
   Год2 = ДатаГод(ВыбКонПериода);
   КонкСвертка = "";
   ы=2;
   Для х=Год1 По Год2 Цикл
       ТЗЗ.НоваяКолонка("Колво"+х,"Число");
       ТЗЗ.НоваяКолонка("Сумма"+х,"Число");
       Если КонкСвертка = "" Тогда
           КонкСвертка = "2, 3";
       Иначе
           КонкСвертка = КонкСвертка+", "+ы+", "+(ы+1);
       КонецЕсли;
       ы=ы+2;
   КонецЦикла;
   
   Пока Запрос.Группировка("поСчету") = 1 Цикл
       Если ПустоеЗначение(Запрос.ПоСчету)=1 Тогда
           Продолжить;
       КонецЕсли;
       ТЗЗ.НоваяСтрока();
       Стр = ТЗЗ.НомерСтроки;
       ТЗЗ.Клиент = Запрос.Клиент;
       //ТЗЗ.УстановитьЗначение(Стр, "Сумма"+ДатаГод(Запрос.ПоСчету.ДатаДок), Запрос.Сумма);
       //ТЗЗ.УстановитьЗначение(Стр, "Колво"+ДатаГод(Запрос.ПоСчету.ДатаДок),1);
       ТЗЗ.УстановитьЗначение(Стр, "Сумма"+ДатаГод(Запрос.Док.ДатаДок), Запрос.Сумма);
       ТЗЗ.УстановитьЗначение(Стр, "Колво"+ДатаГод(Запрос.Док.ДатаДок),1);
       
   КонецЦикла;
   
   
   
   ТЗЗ.Свернуть("Клиент",КонкСвертка);

Вдруг поможет ТС..
создание динамически колонок, запись по колонкам, свертка по ним-же.
не хочется пустой работой заниматься
34 GLazNik
 
22.10.12
14:53
(26)(28) Возможно. "Давно не брал я в руки шашек"
(30) В типовой давно уже ничего не придумывают :)
35 aka AMIGO
 
22.10.12
14:59
+33 печать вдогонку:
   ТЗЗ.ВыбратьСтроки();
   Пока ТЗЗ.ПолучитьСтроку() = 1 Цикл
       Стр = ТЗЗ.НомерСтроки;
       Таб.ВывестиСекцию("Клиент|ВКлиент");
       Для х=Год1 По Год2 Цикл
           Колво = ТЗЗ.ПолучитьЗначение(Стр,"Колво"+х);
           Сумма = ТЗЗ.ПолучитьЗначение(Стр,"Сумма"+х);
           Таб.ПрисоединитьСекцию("Клиент|ВГод");
       КонецЦикла;
       Клиент = ТЗЗ.Клиент;
       Рук = Клиент.Рук;
       Телефон = Клиент.Телефон;
       Почта = Клиент.EMail;
       Почта = СтрЗаменить(Почта, "  "," ");
       Почта = СтрЗаменить(Почта, " ",РазделительСтрок );
       Адрес = Клиент.ЮрАдрес;
       Таб.ПрисоединитьСекцию("Клиент|ВИнфаКлиент");
   КонецЦикла;
36 Mikeware
 
22.10.12
15:03
(34) неее... "давно я не брал в руки КЛЮШЕК"©
37 1Сергей
 
22.10.12
15:07
(29) нихуфигасебе
38 Mikeware
 
22.10.12
15:12
(37)?
39 aka AMIGO
 
22.10.12
15:13
+35 примерный результат:
http://iscr.ru/1350904380/
40 Злопчинский
 
22.10.12
16:24
ох блин...
загони результаты запроса в прсотую плоскую таблицу вида

Корнтрагент-Товар-Количество-Дата
далее эту ТЗ тупо подсунь в универсальный отчет по ТЗ (с группировками, расшифровками, возмржностью построения шахматок и тд.
http://infostart.ru/public/14794/
41 abbas
 
23.10.12
10:52
http://img.pixs.ru/storage/0/6/5/SnimokPNG_2780813_6133065.png
http://img.pixs.ru/storage/0/8/6/SnimokPNG_9922430_6133086.png

   ТабЗнач.ВыбратьСтроки();
   Пока ТабЗнач.ПолучитьСтроку() = 1 Цикл
       Если Контрагент = ТабЗнач.Контрагент Тогда
           Таб.ВывестиСекцию("Строка|Столбец");
           Контрагент = ТабЗнач.Контрагент;
       Иначе
           Таб.ВывестиСекцию("Строка");
           Контрагент = ТабЗнач.Контрагент;
       КонецЕсли;
   КонецЦикла;

Не добавляет а переносит на новую строку, как мне это реализовать...
Что я не так делаю, подскажите плс...
42 Ёпрст
 
23.10.12
10:57
(41) ПрисоединитьСекцию()
43 abbas
 
23.10.12
11:03
(42)все равно, перекидывает на новую строку...
44 GLazNik
 
23.10.12
11:05
(43) Как-то так:

       Если Контрагент <> ТабЗнач.Контрагент Тогда
           Таб.ВывестиСекцию("Строка|Контрагент");
           Контрагент = ТабЗнач.Контрагент;
       КонецЕсли;
       Таб.ПрисоединитьСекцию("Строка|Столбец");
       Контрагент = ТабЗнач.Контрагент;
45 GLazNik
 
23.10.12
11:05
+(44) последняя строка лишняя (копипаст :))
46 abbas
 
23.10.12
11:11
(45)А что за секция Контрагент?
Таб.ВывестиСекцию("Строка|Контрагент");
47 GLazNik
 
23.10.12
11:15
(46) ее надо создать. это вертикальная секция начала строки к которой потом будут присоединяться остальные секции.
48 abbas
 
23.10.12
11:19
(46) А номенклатура то разброс, осталось номенклатуру по порядку поставить...
Ну и на этом спасибо большое, если честно, то не могу я допереть до этого, как вообще это работает, не могу понять...
49 abbas
 
23.10.12
11:20
(48) относится к (47) =)
50 palpetrovich
 
23.10.12
11:20
(37) +1 так сходу не поймешь как это сделано ...Челябинск однако :)
51 Mikeware
 
23.10.12
12:04
(50) OWC-PivotTable на форме.
Зато крути как хочешь, в любых разрезах...
52 Сияющий Асинхраль
 
23.10.12
12:11
(50) Очень похоже на рарусовскую внешнюю компоненту, видел такое где-то, даже пробовал, но, сказать честно, не впечатлило...
53 Mikeware
 
23.10.12
12:38
(52) Это от мелкомягких компонента. можно сказать, "родная виндовая". а кубы генерятся квериконсолью Ивана Берездецкого.
сейчас порядка двух десятков отчетов на это переведены.
Ну, плюс есть графики и т.п.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший