Имя: Пароль:
1C
1С v8
присоединить в макете.
0 zippygrill
 
05.12.12
09:42
не подскажите как мне заполнять и область "контрагент" в этом макете https://dl.dropbox.com/u/9627383/Screens/макет.jpg

область "договор" получилось заполнять а вот "договор" нет. вот как заполняю макет.

   табДок.НачатьАвтогруппировкуСтрок();
   
   выборкаКонтрагент = рз.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией, "Контрагент");
   пока выборкаКонтрагент.Следующий() Цикл
       
       
       область = макет.ПолучитьОбласть("контрагент" + "|основа");
       область.Параметры.печКонтрагент = выборкаКонтрагент.Контрагент;
       табДок.Вывести(область, 1);        
       
       выборкаДоговор = выборкаКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией, "Договор");
       Пока выборкаДоговор.Следующий() Цикл
           
           область = макет.ПолучитьОбласть("договор" + "|основа");
           область.Параметры.печДоговор = выборкаДоговор.Договор;
           табДок.Вывести(область, 2);
           
           выборкаПериодичность = выборкаДоговор.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией, "Периодичность");
           Пока выборкаПериодичность.Следующий() Цикл
               
               //заполнение группировки "договор"
               область = макет.ПолучитьОбласть("договор" + "|период");
               область.Параметры.печДолг                = выборкаПериодичность.Долг;
               область.Параметры.печПросроченыйДолг    = выборкаПериодичность.ПросроченыйДолг;
               табДок.Присоединить(область);

           КонецЦикла; //выборкаПериодичность
           
       КонецЦикла; //выборкаДоговор
       
   КонецЦикла; //выборкаКонтрагент
   табДок.ЗакончитьАвтогруппировкуСтрок();
1 zippygrill
 
05.12.12
09:44
именно пересечение область "период" и "контрагент"
2 Wobland
 
05.12.12
09:50
>область "договор" получилось заполнять а вот "договор" нет
ВызватьИсключнение "разрыв шаблона"
3 Wobland
 
05.12.12
09:52
(1) а где это в коде?
4 Wobland
 
05.12.12
09:53
а ещё прикольное такое новаторство в назывании пересечения областей
5 perec1982
 
05.12.12
09:54
табДок.НачатьАвтогруппировкуСтрок();
   
   выборкаКонтрагент = рз.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией, "Контрагент");
   пока выборкаКонтрагент.Следующий() Цикл
       
       
       область = макет.ПолучитьОбласть("контрагент|основа");
       область.Параметры.печКонтрагент = выборкаКонтрагент.Контрагент;
       табДок.Вывести(область, 1);        
       
        область = макет.ПолучитьОбласть("контрагент|период");
       табДок.Присоединить(область);

      выборкаДоговор = выборкаКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией, "Договор");
       Пока выборкаДоговор.Следующий() Цикл
           
           область = макет.ПолучитьОбласть("договор|основа");
           область.Параметры.печДоговор = выборкаДоговор.Договор;
           табДок.Вывести(область, 2);
           
           выборкаПериодичность = выборкаДоговор.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией, "Периодичность");
           Пока выборкаПериодичность.Следующий() Цикл
               
               //заполнение группировки "договор"

               область = макет.ПолучитьОбласть("договор|период");
               область.Параметры.печДолг                 = выборкаПериодичность.Долг;
               область.Параметры.печПросроченыйДолг     = выборкаПериодичность.ПросроченыйДолг;
               табДок.Присоединить(область);

           КонецЦикла; //выборкаПериодичность

           
       КонецЦикла; //выборкаДоговор

       
   КонецЦикла; //выборкаКонтрагент

   табДок.ЗакончитьАвтогруппировкуСтрок();
   zippygri
6 Ёпрст
 
05.12.12
10:00
(5)
нужно как минимум, пересечение "контрагент|период" присоединить столько же раз, сколько и присоединяется "договор|период"..
Фирштейн ?
7 zippygrill
 
05.12.12
10:02
(5) так она ж один раз заполнится если только один контрагент и как-то не то.
8 Ёпрст
 
05.12.12
10:02
и в твоём коде, периодичность должна быть выше, чем группировка по клиентосу и договору..
9 zippygrill
 
05.12.12
10:05
ясно
10 zippygrill
 
05.12.12
10:06
кста откуда эти стрелки в печ.форме на экране https://dl.dropbox.com/u/9627383/Screens/макетЭкран.jpg
11 Wobland
 
05.12.12
10:07
(10) не вижу стрелков. параметры это
12 zippygrill
 
05.12.12
10:12
(11) ну да это параметры которые заполняю. только не поиму почему они так выводятся :) ты думаешь я специально в поле Долг или Период ставлю стрелки а между ними само значение? :))
13 Wobland
 
05.12.12
10:12
(12) почему бы и нет? это будет называться шаблон тогда. другое слово найди, кстати
14 Wobland
 
05.12.12
10:13
+(13) про символы больше и меньше
15 zippygrill
 
05.12.12
10:14
на "пересечение" 2 областеи нужно использовать не параметр а шаблон?
16 Wobland
 
05.12.12
10:14
(15) это ты разрешения сейчас спрашиваешь?
17 zippygrill
 
05.12.12
10:16
(16) а похоже? я впервые в макете заполняю пересечние 2 областей
18 Wobland
 
05.12.12
10:16
(17) смелее! нет в этом ничего страшного, всё как без пересечения
19 Wobland
 
05.12.12
10:17
+(18) да ты успокойся! я сто раз так делал
20 zippygrill
 
05.12.12
10:31
блин, ребята, какая-то ерунда получается.

   выборкаПериодичность = рз.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией, "Периодичность");
   Пока выборкаПериодичность.Следующий() Цикл
       
       выборкаКонтрагент = выборкаПериодичность.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией, "Контрагент");
       пока выборкаКонтрагент.Следующий() Цикл
           
           
           //область "контрагент" + "основа"
           область = макет.ПолучитьОбласть("контрагент" + "|основа");
           область.Параметры.печКонтрагент = выборкаКонтрагент.Контрагент;
           табДок.Вывести(область, 1);
           
           //область "контрагент" + "период"
           область = макет.ПолучитьОбласть("контрагент" + "|период");
           область.Параметры.печДолг = выборкаКонтрагент.Долг;
           область.Параметры.печПросроченыйДолг = выборкаКонтрагент.ПросроченыйДолг;
           табДок.Присоединить(область);
           
           выборкаДоговор = выборкаКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией, "Договор");
           Пока выборкаДоговор.Следующий() Цикл
               
               //область "договор" + "основа"
               область = макет.ПолучитьОбласть("договор" + "|основа");
               область.Параметры.печДоговор = выборкаДоговор.Договор;
               табДок.Вывести(область, 2);
               
               //область "договор" + "период"
               область = макет.ПолучитьОбласть("договор" + "|период");
               область.Параметры.печДолг = выборкаДоговор.Долг;
               область.Параметры.печПросроченыйДолг = выборкаДоговор.ПросроченыйДолг;
               табДок.Присоединить(область);
               
           КонецЦикла; //выборкаДоговор            
       КонецЦикла; //выборкаКонтрагент
   КонецЦикла; //выборкаПериодичность
21 Wobland
 
05.12.12
10:37
(20) это загадка такая? я ерунду угадывать отказываюсь
22 zippygrill
 
05.12.12
10:38
1. открываю выборку по периодичность
2. вложенная выборка по контрагенту. тут уже можно заполнять как "горизонтально" так и "вертикально"?
3. вложенная выборка по договору. тоже самое что в 2
23 Wobland
 
05.12.12
10:39
1. поздравляю, сэр
2. благословляю, сэр
3. см п. 2
24 zippygrill
 
05.12.12
10:40
(21) да не надо гадать. в (22) схема заполнении. неправильно да?
25 Wobland
 
05.12.12
10:44
(24) ничего крамольного не вижу
26 hhhh
 
05.12.12
10:45
(24) ну вообще-то в СКД такой отчет пишется за 15 минут, а все эти группировки по колонкам и строкам, долг, периодичность - всё тусуется без конфигуратора, в режиме предприятия. Оно вам надо - это никчемный титанический труд?
27 zippygrill
 
05.12.12
10:48
(25) а на экране вот такая х*йня выводится https://dl.dropbox.com/u/9627383/Screens/группировка.jpg
(26) я б давно через скд делал если было б возможно.
28 hhhh
 
05.12.12
10:55
(27) а почему невозможно? Пишете запрос, 5 полей: контрагент, договор, Период, ВидДолга(обычный и просроченный), Сумма.

НУ и выводите: кросс-таблица, группировки строк: контрагент, договор, Группировки колонок: периодичность и вид долга. Ресурс - сумма. Всё.
29 Wobland
 
05.12.12
10:58
(27) а это у тебя в результате запроса хрень какая-то. в консоли наблюдал?
30 zippygrill
 
05.12.12
10:59
(28) я эти данные не могу получить из каких-то справочников или регистров.

ясен пень что 2 раза будет добавлятся контрагент и договор(один и тот же) "вертикально".
31 zippygrill
 
05.12.12
11:03
вот запрос.

   з.Текст = "ВЫБРАТЬ *
   |ПОМЕСТИТЬ вт
   |Из
   |    &МояТаблица КАК МояТаблица
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    вт.ДатаОтгрузки,
   |    вт.Контрагент,
   |    вт.Договор,
   |    вт.Долг,
   |    вт.ПросроченыйДолг,
   |    НАЧАЛОПЕРИОДА(вт.ДатаОтгрузки, МЕСЯЦ) КАК Периодичность
   |ИЗ
   |    вт КАК вт
   |УПОРЯДОЧИТЬ ПО
   |    вт.ДатаОтгрузки,
   |    вт.Контрагент.Наименование
   |ИТОГИ
   |    СУММА(вт.Долг),
   |    СУММА(вт.ПросроченыйДолг)
   |ПО
   |    Периодичность ПЕРИОДАМИ (" + ЭлементыФормы.ПериодичностьДинамики.Значение + ", &ДатаНач, &ДатаКон),
   |    вт.Контрагент,
   |    вт.Договор";

консоль не могу использовать.
32 zippygrill
 
05.12.12
11:20
апну
33 zippygrill
 
05.12.12
11:36
,
34 zippygrill
 
05.12.12
12:07
предположим что у нас 2 записи с одинаковым контрагентом, договором, но с разной периодичность. как мне правильно присоединить это в макете а то получается как в скрине(https://dl.dropbox.com/u/9627383/Screens/группировка.jpg)
35 zippygrill
 
05.12.12
13:27
..
36 Нуф-Нуф
 
05.12.12
13:28
ухтыжепт. вы все еще выводите макеты в ручную?
37 Нуф-Нуф
 
05.12.12
13:28
мир изобрел СКД. не проходите мимо
38 zippygrill
 
05.12.12
13:31
(37) расслабься
39 SanGvin
 
05.12.12
13:36
стесняюсь спросить, а зачем вот тут
("договор" + "|период")
плюсик в серединке?
40 zippygrill
 
05.12.12
13:51
(39) не надо :)
41 hhhh
 
05.12.12
14:05
(30) ну получайте из ТЗ, экселя, акцесса, да из чего угодно. СКД как раз в этом большая дока.
Независимо от того, куда вы едете — это в гору и против ветра!