Имя: Пароль:
1C
1С v8
Не берет все значения из масива значений.
, ,
0 AlekseiJa
 
12.05.15
06:59
Добрый день. Есть запрос на формирования остатков по счетам приведеным в массиве:
[code]
Запрос.Текст = "ВЫБРАТЬ
                   |    ВЫБОР
                   |        КОГДА &ВыгружатьПоПодразделениям
                   |            ТОГДА ВЫБОР
                   |                    КОГДА ЕПСБУОстатки.Субконто3.Подразделение.Родитель <> ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
                   |                        ТОГДА ЕПСБУОстатки.Субконто3.Подразделение.Родитель
                   |                    ИНАЧЕ ЕПСБУОстатки.Субконто3.Подразделение
                   |                КОНЕЦ
                   |        ИНАЧЕ &Учреждение
                   |    КОНЕЦ КАК Учреждение,
                   |    ЕПСБУОстатки.Счет КАК Счет,
                   |    ЕПСБУОстатки.КВД,
                   |    ЕПСБУОстатки.КБК,
                   |    ЕПСБУОстатки.Субконто2 КАК Номенклатура,
                   |    ЕПСБУОстатки.Субконто2.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
                   |    ВЫБОР
                   |        КОГДА ЕПСБУОстатки.Субконто3 ССЫЛКА Справочник.ЦМО
                   |            ТОГДА ЕПСБУОстатки.Субконто3
                   |    КОНЕЦ КАК МОЛ,
                   |    ЕПСБУОстатки.СуммаОстаток КАК Сумма,
                   |    ЕПСБУОстатки.КоличествоОстаток КАК Количество,
                   |    ЕПСБУОстатки.КоличествоОстаток,
                   |    ЕПСБУОстатки.Субконто3
                   |ПОМЕСТИТЬ Данные
                   |ИЗ
                   |    РегистрБухгалтерии.ЕПСБУ.Остатки(
                   |            &ДатаОстатков,
                   |            Счет В ИЕРАРХИИ (&СчетЗабалансовыхЗапасов)
                   |                И (&ОграниченийНаСписокСчетовНет
                   |                    ИЛИ Счет В (&СписокСчетов)),
                   |            ,
                   |            Учреждение = &Учреждение
                   |                И Субконто2 ССЫЛКА Справочник.Номенклатура) КАК ЕПСБУОстатки
                   |
                   |ОБЪЕДИНИТЬ ВСЕ
                   |
                   |ВЫБРАТЬ
                   |    ВЫБОР
                   |        КОГДА &ВыгружатьПоПодразделениям
                   |            ТОГДА ВЫБОР
                   |                    КОГДА ЕПСБУОстатки.Субконто3.Подразделение.Родитель <> ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
                   |                        ТОГДА ЕПСБУОстатки.Субконто3.Подразделение.Родитель
                   |                    ИНАЧЕ ЕПСБУОстатки.Субконто3.Подразделение
                   |                КОНЕЦ
                   |        ИНАЧЕ &Учреждение
                   |    КОНЕЦ,
                   |    ЕПСБУОстатки.Счет,
                   |    ЕПСБУОстатки.КВД,
                   |    ВЫРАЗИТЬ(ЕПСБУОстатки.Субконто2 КАК Справочник.ОсновныеСредства).КБК,
                   |    ВЫБОР
                   |        КОГДА ЕПСБУОстатки.Субконто2 ССЫЛКА Справочник.ОсновныеСредства
                   |            ТОГДА ЕПСБУОстатки.Субконто2
                   |    КОНЕЦ,
                   |    ЕПСБУОстатки.Субконто2.ЕдиницаИзмерения,
                   |    ВЫБОР
                   |        КОГДА ЕПСБУОстатки.Субконто3 ССЫЛКА Справочник.ЦМО
                   |            ТОГДА ЕПСБУОстатки.Субконто3
                   |    КОНЕЦ,
                   |    ЕПСБУОстатки.СуммаОстаток,
                   |    ЕПСБУОстатки.КоличествоОстаток,
                   |    ЕПСБУОстатки.КоличествоОстаток,
                   |    ЕПСБУОстатки.Субконто3
                   |ИЗ
                   |    РегистрБухгалтерии.ЕПСБУ.Остатки(
                   |            &ДатаОстатков,
                   |            Счет В ИЕРАРХИИ (&СчетЗабалансовыхЗапасов)
                   |                И (&ОграниченийНаСписокСчетовНет
                   |                    ИЛИ Счет В (&СписокСчетов)),
                   |            ,
                   |            Учреждение = &Учреждение
                   |                И Субконто2 ССЫЛКА Справочник.ОсновныеСредства) КАК ЕПСБУОстатки
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ВЫБОР
                   |        КОГДА &ВыгружатьПоПодразделениям
                   |            ТОГДА Данные.Субконто3.Подразделение
                   |        ИНАЧЕ &Учреждение
                   |    КОНЕЦ КАК Учреждение,
                   |    Данные.Счет КАК Счет,
                   |    Данные.Номенклатура КАК Номенклатура,
                   |    Данные.КВД,
                   |    Данные.КБК,
                   |    Данные.ЕдиницаИзмерения,
                   |    Данные.Сумма КАК Сумма,
                   |    ЕСТЬNULL(Данные.МОЛ, """") КАК МОЛ,
                   |    ЕСТЬNULL(Данные.Количество, 0) КАК Количество,
                   |    Данные.КоличествоОстаток,
                   |    Данные.Субконто3
                   |ИЗ
                   |    Данные КАК Данные
                   |ГДЕ
                   |    ВЫБОР
                   |            КОГДА &ВыгружатьПоПодразделениям
                   |                ТОГДА ВЫБОР
                   |                        КОГДА Данные.Субконто3.Подразделение В ИЕРАРХИИ (&СписокПодразделений)
                   |                            ТОГДА ИСТИНА
                   |                        ИНАЧЕ ЛОЖЬ
                   |                    КОНЕЦ
                   |            ИНАЧЕ ИСТИНА
                   |        КОНЕЦ
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    Счет,
                   |    Номенклатура,
                   |    МОЛ
                   |АВТОУПОРЯДОЧИВАНИЕ";
[/code]
Данные формируются почему то не по всем счетам приведеным в массиве:
[code]
    
    СчетЗабалансовыхЗапасов = Новый Массив;
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.ИмуществоВПользовании);      //01
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.МЦнаХранении);               //02
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.ЭкспериментальныеУстройства); //13
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.ОСдо3000рублейВЭксплуатации); //21
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.МЦПолученныеПоЦС);            //22
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.ЗапчастиКТранспорту);         //09
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.ИмуществоПереданноеВАренду);  //25
[/code]
Часности не формируются данные по счету 21.38. Хотя остатки по оборотне есть. Пробовал указать напрямую счет 21.38, данные не сформировались.
Подскажите где я сделал ошибку?
1 Evil-Wisp
 
12.05.15
07:16
Покажи значения остальных параметоров
2 Jonny_Khomich
 
12.05.15
07:27
не тот массив в параметр запросу даёшь. Как он может не все значения взять?
3 rphosts
 
12.05.15
07:30
(0) чисто для очистки совести: счёт 21.38 не чисто оборотный?

и ещё СписокСчетов - что в нём?

а чему = ОграниченийНаСписокСчетовНет?
4 AlekseiJa
 
12.05.15
07:43
СчетЗабалансовыхЗапасов = Новый Массив;
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.ИмуществоВПользовании);      //01
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.МЦнаХранении);               //02
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.ЭкспериментальныеУстройства); //13
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.ОСдо3000рублейВЭксплуатации); //21
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.МЦПолученныеПоЦС);            //22
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.ЗапчастиКТранспорту);         //09
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.ИмуществоПереданноеВАренду);  //25

    Запрос = Новый Запрос;
    
    Запрос.Текст = "ВЫБРАТЬ
                   |    ВЫБОР
                   |        КОГДА &ВыгружатьПоПодразделениям
                   |            ТОГДА ВЫБОР
                   |                    КОГДА ЕПСБУОстатки.Субконто3.Подразделение.Родитель <> ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
                   |                        ТОГДА ЕПСБУОстатки.Субконто3.Подразделение.Родитель
                   |                    ИНАЧЕ ЕПСБУОстатки.Субконто3.Подразделение
                   |                КОНЕЦ
                   |        ИНАЧЕ &Учреждение
                   |    КОНЕЦ КАК Учреждение,
                   |    ЕПСБУОстатки.Счет КАК Счет,
                   |    ЕПСБУОстатки.КВД,
                   |    ЕПСБУОстатки.КБК,
                   |    ЕПСБУОстатки.Субконто2 КАК Номенклатура,
                   |    ЕПСБУОстатки.Субконто2.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
                   |    ВЫБОР
                   |        КОГДА ЕПСБУОстатки.Субконто3 ССЫЛКА Справочник.ЦМО
                   |            ТОГДА ЕПСБУОстатки.Субконто3
                   |    КОНЕЦ КАК МОЛ,
                   |    ЕПСБУОстатки.СуммаОстаток КАК Сумма,
                   |    ЕПСБУОстатки.КоличествоОстаток КАК Количество,
                   |    ЕПСБУОстатки.КоличествоОстаток,
                   |    ЕПСБУОстатки.Субконто3
                   |ПОМЕСТИТЬ Данные
                   |ИЗ
                   |    РегистрБухгалтерии.ЕПСБУ.Остатки(
                   |            &ДатаОстатков,
                   |            Счет В ИЕРАРХИИ (&СчетЗабалансовыхЗапасов)
                   |                И (&ОграниченийНаСписокСчетовНет
                   |                    ИЛИ Счет В (&СписокСчетов)),
                   |            ,
                   |            Учреждение = &Учреждение
                   |                И Субконто2 ССЫЛКА Справочник.Номенклатура) КАК ЕПСБУОстатки
                   |
                   |ОБЪЕДИНИТЬ ВСЕ
                   |
                   |ВЫБРАТЬ
                   |    ВЫБОР
                   |        КОГДА &ВыгружатьПоПодразделениям
                   |            ТОГДА ВЫБОР
                   |                    КОГДА ЕПСБУОстатки.Субконто3.Подразделение.Родитель <> ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
                   |                        ТОГДА ЕПСБУОстатки.Субконто3.Подразделение.Родитель
                   |                    ИНАЧЕ ЕПСБУОстатки.Субконто3.Подразделение
                   |                КОНЕЦ
                   |        ИНАЧЕ &Учреждение
                   |    КОНЕЦ,
                   |    ЕПСБУОстатки.Счет,
                   |    ЕПСБУОстатки.КВД,
                   |    ВЫРАЗИТЬ(ЕПСБУОстатки.Субконто2 КАК Справочник.ОсновныеСредства).КБК,
                   |    ВЫБОР
                   |        КОГДА ЕПСБУОстатки.Субконто2 ССЫЛКА Справочник.ОсновныеСредства
                   |            ТОГДА ЕПСБУОстатки.Субконто2
                   |    КОНЕЦ,
                   |    ЕПСБУОстатки.Субконто2.ЕдиницаИзмерения,
                   |    ВЫБОР
                   |        КОГДА ЕПСБУОстатки.Субконто3 ССЫЛКА Справочник.ЦМО
                   |            ТОГДА ЕПСБУОстатки.Субконто3
                   |    КОНЕЦ,
                   |    ЕПСБУОстатки.СуммаОстаток,
                   |    ЕПСБУОстатки.КоличествоОстаток,
                   |    ЕПСБУОстатки.КоличествоОстаток,
                   |    ЕПСБУОстатки.Субконто3
                   |ИЗ
                   |    РегистрБухгалтерии.ЕПСБУ.Остатки(
                   |            &ДатаОстатков,
                   |            Счет В ИЕРАРХИИ (&СчетЗабалансовыхЗапасов)
                   |                И (&ОграниченийНаСписокСчетовНет
                   |                    ИЛИ Счет В (&СписокСчетов)),
                   |            ,
                   |            Учреждение = &Учреждение
                   |                И Субконто2 ССЫЛКА Справочник.ОсновныеСредства) КАК ЕПСБУОстатки
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ВЫБОР
                   |        КОГДА &ВыгружатьПоПодразделениям
                   |            ТОГДА Данные.Субконто3.Подразделение
                   |        ИНАЧЕ &Учреждение
                   |    КОНЕЦ КАК Учреждение,
                   |    Данные.Счет КАК Счет,
                   |    Данные.Номенклатура КАК Номенклатура,
                   |    Данные.КВД,
                   |    Данные.КБК,
                   |    Данные.ЕдиницаИзмерения,
                   |    Данные.Сумма КАК Сумма,
                   |    ЕСТЬNULL(Данные.МОЛ, """") КАК МОЛ,
                   |    ЕСТЬNULL(Данные.Количество, 0) КАК Количество,
                   |    Данные.КоличествоОстаток,
                   |    Данные.Субконто3
                   |ИЗ
                   |    Данные КАК Данные
                   |ГДЕ
                   |    ВЫБОР
                   |            КОГДА &ВыгружатьПоПодразделениям
                   |                ТОГДА ВЫБОР
                   |                        КОГДА Данные.Субконто3.Подразделение В ИЕРАРХИИ (&СписокПодразделений)
                   |                            ТОГДА ИСТИНА
                   |                        ИНАЧЕ ЛОЖЬ
                   |                    КОНЕЦ
                   |            ИНАЧЕ ИСТИНА
                   |        КОНЕЦ
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    Счет,
                   |    Номенклатура,
                   |    МОЛ
                   |АВТОУПОРЯДОЧИВАНИЕ";       
    
    Запрос.УстановитьПараметр("ДатаОстатков",         ДатаОстатков);
    Запрос.УстановитьПараметр("Учреждение",         Учреждение);
    Запрос.УстановитьПараметр("КВД",                         КВДПоУмолчанию);
    Запрос.УстановитьПараметр("СчетЗабалансовыхЗапасов",    СчетЗабалансовыхЗапасов);
    Запрос.УстановитьПараметр("ОграниченийНаСписокСчетовНет", ?(ОграничениеНаСписокСчетов.Количество()>0, Ложь, Истина));
    Запрос.УстановитьПараметр("СписокСчетов", ОграничениеНаСписокСчетов.ВыгрузитьКолонку("Счет"));
    Запрос.УстановитьПараметр("ВыгружатьПоПодразделениям",     ВыгружатьПоПодразделениям);
    Запрос.УстановитьПараметр("СписокПодразделений",         ВыборПодразделений.ВыгрузитьКолонку("Подразделение"));
5 AlekseiJa
 
12.05.15
08:11
данные по счетам 21.1, 22.1 и другим формируются, а менно по 21.38, 21.34 нет
6 Evil-Wisp
 
12.05.15
08:17
&СписокСчетов пустой?
7 rphosts
 
12.05.15
08:19
(5) повторю намёк: возможно ОграничениеНаСписокСчетов.ВыгрузитьКолонку("Счет") - не пустой, но 21.38 в нём нет.

потом, какая у 21.38 аналитика?

Зачем параметр КВД?

Если убрать условие на &Учреждение в выборке 21.38 не появится?
8 Evil-Wisp
 
12.05.15
08:19
Проверь на всякий, что 21.38, 21.34 находятся в иерархии 21-го счета. Иногда бухи могут случайно их косячить. И что КВД тот, на котором есть остатки.
9 Evil-Wisp
 
12.05.15
08:23
Еще может на 21.38, 21.34 аналитику местами поменяли. У тебя там проверка "Субконто2 ССЫЛКА Справочник.ОсновныеСредства"
10 AlekseiJa
 
12.05.15
09:39
Пробовал так сделать, данных тоже нету
Запрос = Новый Запрос;        
    
    Запрос.Текст = "ВЫБРАТЬ
                   |    ВЫБОР
                   |        КОГДА &ВыгружатьПоПодразделениям
                   |            ТОГДА ВЫБОР
                   |                    КОГДА ЕПСБУОстатки.Субконто3.Подразделение.Родитель <> ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
                   |                        ТОГДА ЕПСБУОстатки.Субконто3.Подразделение.Родитель
                   |                    ИНАЧЕ ЕПСБУОстатки.Субконто3.Подразделение
                   |                КОНЕЦ
                   |        ИНАЧЕ &Учреждение
                   |    КОНЕЦ КАК Учреждение,
                   |    ЕПСБУОстатки.Счет КАК Счет,
                   |    ЕПСБУОстатки.КВД,
                   |    ЕПСБУОстатки.КБК,
                   |    ЕПСБУОстатки.Субконто2 КАК Номенклатура,
                   |    ЕПСБУОстатки.Субконто2.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
                   |    ВЫБОР
                   |        КОГДА ЕПСБУОстатки.Субконто3 ССЫЛКА Справочник.ЦМО
                   |            ТОГДА ЕПСБУОстатки.Субконто3
                   |    КОНЕЦ КАК МОЛ,
                   |    ЕПСБУОстатки.СуммаОстаток КАК Сумма,
                   |    ЕПСБУОстатки.КоличествоОстаток КАК Количество
                   |ПОМЕСТИТЬ Данные
                   |ИЗ
                   |    РегистрБухгалтерии.ЕПСБУ.Остатки(
                   |            &ДатаОстатков,
                   |            Счет В (&СчетЗабалансовыхЗапасов),
                   |            ,
                   |            Учреждение = &Учреждение
                   |                И Субконто2 ССЫЛКА Справочник.Номенклатура) КАК ЕПСБУОстатки
                   |
                   |ОБЪЕДИНИТЬ ВСЕ
                   |
                   |ВЫБРАТЬ
                   |    ВЫБОР
                   |        КОГДА &ВыгружатьПоПодразделениям
                   |            ТОГДА ВЫБОР
                   |                    КОГДА ЕПСБУОстатки.Субконто3.Подразделение.Родитель <> ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
                   |                        ТОГДА ЕПСБУОстатки.Субконто3.Подразделение.Родитель
                   |                    ИНАЧЕ ЕПСБУОстатки.Субконто3.Подразделение
                   |                КОНЕЦ
                   |        ИНАЧЕ &Учреждение
                   |    КОНЕЦ,
                   |    ЕПСБУОстатки.Счет,
                   |    ЕПСБУОстатки.КВД,
                   |    ВЫРАЗИТЬ(ЕПСБУОстатки.Субконто2 КАК Справочник.ОсновныеСредства).КБК,
                   |    ВЫБОР
                   |        КОГДА ЕПСБУОстатки.Субконто2 ССЫЛКА Справочник.ОсновныеСредства
                   |            ТОГДА ЕПСБУОстатки.Субконто2
                   |    КОНЕЦ,
                   |    ЕПСБУОстатки.Субконто2.ЕдиницаИзмерения,
                   |    ВЫБОР
                   |        КОГДА ЕПСБУОстатки.Субконто3 ССЫЛКА Справочник.ЦМО
                   |            ТОГДА ЕПСБУОстатки.Субконто3
                   |    КОНЕЦ,
                   |    ЕПСБУОстатки.СуммаОстаток,
                   |    ЕПСБУОстатки.КоличествоОстаток
                   |ИЗ
                   |    РегистрБухгалтерии.ЕПСБУ.Остатки(
                   |            &ДатаОстатков,
                   |            Счет В (&СчетЗабалансовыхЗапасов),
                   |            ,
                   |            Учреждение = &Учреждение
                   |                И Субконто2 ССЫЛКА Справочник.ОсновныеСредства) КАК ЕПСБУОстатки
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    Данные.Учреждение КАК Учреждение,
                   |    Данные.Счет КАК Счет,
                   |    Данные.КВД,
                   |    Данные.КБК,
                   |    Данные.Номенклатура,
                   |    Данные.ЕдиницаИзмерения,
                   |    Данные.МОЛ,
                   |    Данные.Сумма КАК Сумма,
                   |    Данные.Количество КАК Количество
                   |ИЗ
                   |    Данные КАК Данные
                   |ИТОГИ
                   |    СУММА(Сумма),
                   |    СУММА(Количество)
                   |ПО
                   |    Учреждение,
                   |    Счет
                   |АВТОУПОРЯДОЧИВАНИЕ";       
    
    Запрос.УстановитьПараметр("ДатаОстатков",         ДатаОстатков);
    Запрос.УстановитьПараметр("Учреждение",         Организация);
    Запрос.УстановитьПараметр("КВД",                         КВДПоУмолчанию);
    СчетЗабалансовыхЗапасов = Новый Массив;
    СчетЗабалансовыхЗапасов.Добавить(ПланыСчетов.ЕПСБУ.ПрочиеОсновныеСредства_ИДИ); //21.38
    
    
    Запрос.УстановитьПараметр("СчетЗабалансовыхЗапасов",    СчетЗабалансовыхЗапасов);
    Запрос.УстановитьПараметр("ВыгружатьПоПодразделениям",     ВыгружатьПоПодразделениям);
    
    Результат     = Запрос.Выполнить();

    ЭлементыФормы.ТаблицаРезультата.Колонки.Очистить();
    РезультатДерево = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);    
    ЭлементыФормы.ТаблицаРезультата.Данные = "РезультатДерево";
    ЭлементыФормы.ТаблицаРезультата.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;
    ЭлементыФормы.ТаблицаРезультата.СоздатьКолонки();
11 DJ Anthon
 
12.05.15
10:51
сделай самый простейший запрос и постепенно усложняй, и найдешь
12 AlekseiJa
 
12.05.15
10:57
Так тут запрос не сложный. для отбора указал уже именно счет 21.38
13 AlekseiJa
 
12.05.15
11:16
(9) Данные по этим счетам действительно на Субконто1, подскажите как мне сделать что бы и Субконто1 и Субконто2 было в запросе?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс