Имя: Пароль:
1C
 
как получить типы всех документов, делающие проводки по регистру
,
0 MJedy
 
22.12.09
15:02
Можно ли запросом получить все типы документов делающие проводки по определенным счетам регистра бухгалтерии. Не все возможные типы, а именно те типы документов, которые РЕАЛЬНО имеют проводки.
1 Господин ПЖ
 
22.12.09
15:02
нет
2 MaxS
 
22.12.09
15:03
поиск ссылок на объект
3 MJedy
 
22.12.09
15:03
а может всетаки можно? через ЗНАЧЕНИЕ может быть как-то?
4 Волшебник
 
22.12.09
15:04
(0) Поставь 8.2, там это реализовано
5 BlaSo
 
22.12.09
15:04
щас попробую
6 MJedy
 
22.12.09
15:05
у регистра есть "регистратор"... вот чтото из этого можно поиметь.
8.2 меня пока не волнует. вопрос по 8.1.
7 NULLL
 
22.12.09
15:07
(3) Я думаю, если собирать запрос програмно, то возможно. Только нужно в запросе укзазть всех возможных регистраторов.
8 MJedy
 
22.12.09
15:15
грамотно это как?
9 AndOne
 
22.12.09
15:19
1. 8.2? 8.1?
2. Хочешь получить в виде строки или в виде типов?
10 nbIx
 
22.12.09
15:20
Эээээ почему это нельзя, можно

Сделать программно текст запроса по метаданным и выбрать из регистра бухгалтерии

Пример:

ВЫБОР
   КОГДА ТаблицаРегистра.Регистратор ССЫЛКА Документ.РасходнаяНакладная ТОГДА "РасходнаяНакладная "
   КОГДА.....
     
КОНЕЦ КАК ТипДокументаСтрока
11 nbIx
 
22.12.09
15:21
(10) +
Потом можно строки преобразовать уже в типы, при обходе выборки если нужно
12 MJedy
 
22.12.09
15:21
сейчас попробую
13 NULLL
 
22.12.09
15:23
(11) Как определить регистраторов регистра?
14 Megas
 
22.12.09
15:24
ВЫбрать различные
ТаблицаРегистра.Регистратор

?
15 nbIx
 
22.12.09
15:25
(13) По "ССЫЛКА"
16 NULLL
 
22.12.09
15:29
(15) В запросе нужно указать всех возможных регистрторов. Как их определить?
17 nbIx
 
22.12.09
15:30
(16) запрос программно собрать, выбрать все документы из метеданных, которые двигают регистр бухгалтерии
18 MJedy
 
22.12.09
15:31
вижу такие способы:

1) получить все регистраторы из регистра, а потом обработать их по типу

2) получить все возможные регистраторы и проверить их по "ССылка", как говорит nbIx на движения, а затем из строки получить их тип
19 MJedy
 
22.12.09
15:43
вот так сработало

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

    Для Каждого Стр из Рез Цикл
        Если СсылкиНаТипы.Найти(ТипЗнч(Стр["Ссылка"])) = Неопределено Тогда
            СсылкиНаТипы.Добавить(ТипЗнч(Стр["Ссылка"]));
            Сообщить(ТипЗнч(Стр["Ссылка"]));
        КонецЕсли;        
    КонецЦикла;
    Состояние("Обработка завершена...");
20 НЕА123
 
22.12.09
15:48
(19)
не по теме.
почему ОБЪЕДИНИТЬ? можно же так:

...
ГДЕ
        Хозрасчетный.СчетДт = &Счет
    ИЛИ Хозрасчетный.СчетКт = &Счет"

или через ОБЪЕДИНИТЬ быстрее?
21 Megas
 
22.12.09
15:52
Гы.. мой совет сработал =)
22 MJedy
 
22.12.09
15:53
можно и через или:)
23 NULLL
 
22.12.09
16:06
Как вариант:
Массив = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей().Отбор.Регистратор.ТипЗначения.Типы();
24 MJedy
 
22.12.09
16:16
так мы все типы регистраторов получим, а нам только движущие нужны были
25 MJedy
 
22.12.09
16:18
в принципе, далее можно по пути 2 пойти, как выше указано
26 Serg_1960
 
22.12.09
16:32
(19) :((
27 Господин ПЖ
 
22.12.09
16:32
жесть какая-то...
28 Serg_1960
 
22.12.09
16:33
http://www.forum.mista.ru/users.php?name=MJedy, не надо "это" рекомендовать в базу знаний :(
29 MJedy
 
22.12.09
16:44
да ну ради бога, тока не обижайтесь:)