Имя: Пароль:
1C
1C 7.7
v7: как узнать программно элемент справочника - разделителя учета?
,
0 Svetka
 
25.07.13
14:50
Установлен разделитель учета <по всем>

Делаю запрос по БИ

Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства, , 1, 0);
Ит.ИспользоватьПланСчетов(ПланыСчетов.Основной);
Если (ВыбрФирма.выбран()=1) Тогда
      Ит.ИспользоватьРазделительУчета(ВыбрФирма);
КонецЕсли;
......

Ит.ВыполнитьЗапрос(Дата1,Дата2,"01.06","10.08",, 1,"Проводка", "С");
Ит.ВыбратьПериоды(,,,);
      Пока Ит.ПолучитьПериод(,) = 1 Цикл
    Ит.ВыбратьСубконто();
       Пока Ит.ПолучитьСубконто() = 1 Цикл
                 ТЗ.НоваяСтрока();
         ТЗ.ОС  = Ит.Субконто();
         Если ВыбрФирма.выбран()=1 Тогда
             ТЗ.КодПП = ВыбрФирма.Код;
         Иначе
             ТЗ.КодПП  = ?????    
             КонецЕсли;
           КонецЦикла;
       КонецЦикла;

Как мне узнать какого предприятия (КодПП) субконто в итогах?
Спасибо
1 KRV
 
25.07.13
14:55
Если Метаданные.РазделительУчета.Выбран() = 1 Тогда..
... ИТ.ИспользоватьРазделительУчета());
2 Svetka
 
25.07.13
15:07
запрос формирует по всем, но мне надо ссылку элемента справочника фирмы (если разделитель учета - <по всем>), а вместо нее - название справочника.
3 Svetka
 
25.07.13
15:11
Приходит на ум сделать запрос по БИ столько раз, сколько элементов в справочнике фирмы
4 KRV
 
25.07.13
15:13
а смысл по всем? Средняя температура по больнице?
5 Svetka
 
25.07.13
15:16
(4) потому что мне нужны итоги по всем фирмам и коды этих фирм
6 Svetka
 
25.07.13
15:21
Метаданные.РазделительУчета говорит, что разделитель учета - фирмы.
ИспользоватьРазделительУчета() без параметра - собирает итоги по всем фирмама.
Но т.к. фирма не выбрана - нет ссылки на конкретную фирму, а мне надо.
7 ИсчадиеADO
 
25.07.13
15:23
(6) кажется только (3). Странно что в запросе не вижу соотв. поля
8 Svetka
 
25.07.13
15:40
(7) понятно,значит (3).
9 Дык ё
 
25.07.13
15:45
(8) можно выбрать черным запросом. разделитель учета - реквизит проводки
10 Svetka
 
25.07.13
16:08
(9) спасибо
11 Svetka
 
26.07.13
06:02
Т.к. разделитель учета - реквизит проводки из(9), сделала так

// - - - - Выборка результатов - - - -
Ит.ВыбратьПериоды(,,,);
Пока Ит.ПолучитьПериод(,) = 1 Цикл
    Ит.ВыбратьСубконто();
    Пока Ит.ПолучитьСубконто() = 1 Цикл
        Фирм="";        
        Опер=Ит.Операция;
        Пр = Опер.Пров(Опер.НомерПроводки(),Опер.НомерКорреспонденции());
        Фирм = Пр.РазделительПоФирме.Код;
        ТЗ.НоваяСтрока();
        ТЗ.ОС = Ит.Субконто();
        Если (ВыбрФирма.выбран()=1) Тогда
            ТЗ.КодПП= ВыбрФирма.Код;
        Иначе
            ТЗ.КодПП  = Фирм;
        КонецЕсли;
    КонецЦикла;
КонецЦикла;