Имя: Пароль:
1C
 
Вывод параметра.РЕГИСТР в печатную форму
0 lock231123
 
12.08.16
10:58
Добрый день, как описать параметр.Регистратор для последующего вывода его в форму

Сам запрос и кусок кода:

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


Запрос.УстановитьПараметр("КонецПериода", Отчет.Период.ДатаОкончания);
        Запрос.УстановитьПараметр("НачалоПериода", Отчет.Период.ДатаНачала);
        Запрос.УстановитьПараметр("Организация", Отчет.Организация);
        Запрос.УстановитьПараметр("Счет", Счет);
        Запрос.УстановитьПараметр("Склад", Отчет.Склад);
        
    РезультатЗапроса = Запрос.Выполнить();

    
    
    ВыборкаОбщийИтог = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    ВыборкаОбщийИтог.Следующий();        // Общий итог
    ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
    
    
    ВыборкаКод = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Номер =0;
    Пока ВыборкаКод.Следующий() Цикл
        Номер = Номер+1;
        ОбластьКод.Параметры.Номер = Номер;
        ОбластьКод.Параметры.Документы = //Регистратор;
        ОбластьКод.Параметры.Заполнить(ВыборкаКод);
        ТабДок.Вывести(ОбластьКод, ВыборкаКод.Уровень());
        
        ВыборкаДетальныеЗаписи = ВыборкаКод.Выбрать();
        
    КонецЦикла;
1 lock231123
 
12.08.16
11:00
форма мат отчет имеет колонку "документы" куда и должен выводится регистратор - док приходов и расходов.
2 Горогуля
 
12.08.16
11:00
>ОбластьКод.Параметры.Заполнить(ВыборкаКод)
хватит
3 lock231123
 
12.08.16
11:02
тоже так думал, но что то не выходит...
4 Ёпрст
 
12.08.16
11:03
(3)
|    отчет.Регистратор как Документы
5 Горогуля
 
12.08.16
11:04
открой для себя фитолакс
6 lock231123
 
12.08.16
11:06
(4) тоже пробовал, никак, просто пустое поле в форме
7 lock231123
 
12.08.16
11:07
(2) и (4)  пустые поля
8 vicof
 
12.08.16
11:08
(7) давай, освой отладчик и выйди на новый уровень
9 lock231123
 
12.08.16
11:11
(8) снова здорова, у самого 6 страниц вопросов и меня упрекает, яж говорю в форму поля выводятся пустые или я не шарю вообще о чем ты мне пытаешься сказать.
10 Ёпрст
 
12.08.16
11:13
(7) еще бы..
Где третья выборка по детальным записям ?!
11 Ёпрст
 
12.08.16
11:13
заполнять нужно именно там, если че..
12 Горогуля
 
12.08.16
11:14
...и вот вручили мне на работе газонокосилку (я тогда дворником подрабатывал). вон поляна, вот косилка, вот бензин и масло. вперёд!
а я ж не знаю, с какого боку она включается, какие особенности там и всё такое прочее.. ну а куда деваться? пришлось включить мозг и разобраться на месте. даже не потребовался совет умудрённых
а, метла, кстати, намного проще
13 lock231123
 
12.08.16
11:21
(10) Спасибо, хоть направление указал
14 lock231123
 
12.08.16
11:36
(10) хотя я поторопился, нифига яснее то не стало, что там описывать-то? и как?
15 Ёпрст
 
12.08.16
11:38
(14)
ВыборкаКод = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Номер =0;
    Пока ВыборкаКод.Следующий() Цикл
        Номер = Номер+1;
        ОбластьКод.Параметры.Номер = Номер;
        ОбластьКод.Параметры.Заполнить(ВыборкаКод);

        ТабДок.Вывести(ОбластьКод, ВыборкаКод.Уровень());
        

        ВыборкаДетальныеЗаписи = ВыборкаКод.Выбрать();
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            ОбластьДетальныеЗаписи.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
                         ТабДок.Вывести(ВыборкаДетальныеЗ, ВыборкаДетальныеЗ.Уровень());
         КонецЦикла;
        
    КонецЦикла;
16 Ёпрст
 
12.08.16
11:39
ТабДок.Вывести(ОбластьДетальныеЗаписи, ВыборкаДетальныеЗаписи.Уровень());
17 lock231123
 
12.08.16
11:57
(15) ТабДок.Вывести(ВыборкаДетальныеЗ, ВыборкаДетальныеЗ.Уровень());
так и должно быть? пишет поле не найдено, меняю на: ТабДок.Вывести(ВыборкаДетальныеЗаписи, ВыборкаДетальныеЗаписи.Уровень());  дает ошибку
{Форма.ФормаОтчета.Форма(161)}: Ошибка при вызове метода контекста (Вывести)
            ТабДок.Вывести(ВыборкаДетальныеЗаписи, ВыборкаДетальныеЗаписи.Уровень());
по причине:
Несоответствие типов (параметр номер '1')
Несоответствие типов (параметр номер '1')
18 lock231123
 
12.08.16
11:58
(17)  ТабДок.Вывести(ВыборкаДетальныеЗ, ВыборкаДетальныеЗ.Уровень());
так и должно быть? пишет поле не найдено
19 lock231123
 
12.08.16
11:58
меняю на: ТабДок.Вывести(ВыборкаДетальныеЗаписи, ВыборкаДетальныеЗаписи.Уровень());

дает ошибку


{Форма.ФормаОтчета.Форма(161)}: Ошибка при вызове метода контекста (Вывести)
            ТабДок.Вывести(ВыборкаДетальныеЗаписи, ВыборкаДетальныеЗаписи.Уровень());
по причине:
Несоответствие типов (параметр номер '1')
Несоответствие типов (параметр номер '1')
20 Горогуля
 
12.08.16
12:00
я бы ещё похуже матерился при попытке подсунуть мне выборку вместо области. платформа ещё тебя жалеет
21 vicof
 
12.08.16
12:00
Веник не предлагать?
22 Горогуля
 
12.08.16
12:01
(21) это более тонкий инструмент. лучше метлу
23 Ёпрст
 
12.08.16
12:27
(18)
см. (16)
+ должна быть объявлена ОбластьДетальныеЗаписи ранее в коде.
24 lock231123
 
12.08.16
12:37
(23) Сделал так

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

    ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());



только теперь вопрос, можно как то разделить Регистратор на приход так сказать и расход, а то док выводится в обоих полях
25 Ёпрст
 
12.08.16
12:39
(24) полный ПЭ.
26 lock231123
 
12.08.16
12:40
(25) да, печаль
27 Ёпрст
 
12.08.16
12:41
Давай, так, для начала сделаешь, а ?

//     |ПО
//       |    ОБЩИЕ,
  //      |    Код";
     |ПО
        |    ОБЩИЕ";


..........


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

ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());
28 vicof
 
12.08.16
12:43
(0) скажи телефон твоего начальника)
29 lock231123
 
12.08.16
12:53
(27) так, сделал
30 lock231123
 
12.08.16
12:54
(27) только теперь естественно без группировки по коду, каждый приход расход с новой строки
31 Ёпрст
 
12.08.16
13:00
(30) нужна группировка - добавляй в итоги, + еще один цикл для обхода детальных записей при обходе группировок.
Что тут может быть непонятного - загадка.