К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Помогите с запросом

Гость
0 - 13.11.2014 - 13:36
Надо выбрать все счета с остатками и оборотами, без субсчетов.


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

почемута пропускает некоторые счета (20,50, 80, 84), а некоторые с пустой обороткой показывает (10)



Гость
1 - 13.11.2014 - 16:29
Открыть План счетов.
Выбрать интересующий с аналитикой (субконто).
Посмотреть на эти субконто (внизу формы).
Если непонятен смысл слов, под которыми красуются "галки" ("Только обороты", "Суммовой") быстро-быстро нажать F1.
Читать вдумчиво.
Гость
2 - 14.11.2014 - 13:13
Переделал запрос

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

вроде все нормально, но 2 лишних счета все ж вылазит, 08 и, внезапно, МЦ, который ваще забалансовый
наверно недостаточно быстро жамкнул F1
Гость
3 - 17.11.2014 - 17:30
Я бы сделал так:

"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Хозрасчетный.Ссылка КАК Счет,
| Хозрасчетный.Код КАК Код
|ПОМЕСТИТЬ СчетаПервогоУровня
|ИЗ
| ПланСчетов.Хозрасчетный КАК Хозрасчетный
|ГДЕ
| Хозрасчетный.Код = ПОДСТРОКА(Хозрасчетный.Код, 1, 2)
| И Хозрасчетный.Забалансовый = ЛОЖЬ
| И Хозрасчетный.Код <> """"
|
|ИНДЕКСИРОВАТЬ ПО
| Код
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| МИНИМУМ(ХозрасчетныйОстаткиИОбороты.Счет) КАК Счет,
| МИНИМУМ(ХозрасчетныйОстаткиИОбороты.Валюта) КАК Валюта,
| СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОс татокДт) КАК СуммаНачальныйОстатокДт,
| СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОс татокКт) КАК СуммаНачальныйОстатокКт,
| СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОст атокДт) КАК СуммаКонечныйОстатокДт,
| СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОст атокКт) КАК СуммаКонечныйОстатокКт,
| СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотДт) КАК СуммаОборотДт,
| СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотКт) КАК СуммаОборотКт,
| СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоНачаль ныйОстатокДт) КАК КоличествоНачальныйОстатокДт,
| СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоНачаль ныйОстатокКт) КАК КоличествоНачальныйОстатокКт,
| СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоКонечн ыйОстатокДт) КАК КоличествоКонечныйОстатокДт,
| СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоКонечн ыйОстатокКт) КАК КоличествоКонечныйОстатокКт,
| СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоОборот Дт) КАК КоличествоОборотДт,
| СУММА(ХозрасчетныйОстаткиИОбороты.КоличествоОборот Кт) КАК КоличествоОборотКт,
| ПОДСТРОКА(ХозрасчетныйОстаткиИОбороты.Счет.Код, 1, 2) КАК Код
|ПОМЕСТИТЬ ОстаткиИОбороты
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Н ачалоПериода, &КонецПериода, День, , НЕ Счет.Забалансовый, , ) КАК ХозрасчетныйОстаткиИОбороты
|
|СГРУППИРОВАТЬ ПО
| ПОДСТРОКА(ХозрасчетныйОстаткиИОбороты.Счет.Код, 1, 2)
|
|ИНДЕКСИРОВАТЬ ПО
| Код
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СчетаПервогоУровня.Счет,
| СчетаПервогоУровня.Код КАК Код
|ИЗ
| ОстаткиИОбороты КАК ОстаткиИОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ СчетаПервогоУровня КАК СчетаПервогоУровня
| ПО ОстаткиИОбороты.Код = СчетаПервогоУровня.Код
|
|УПОРЯДОЧИТЬ ПО
| Код"
Гость
4 - 17.11.2014 - 18:27
2-A l e x > Чувство юмора - необходимое качество в нашем деле :)
А третьего уровня в ПС нет?
Может, есть смысл просто отфильтровать субсчета одним условием?
Гость
5 - 09.12.2014 - 16:27
с запросом вроде разобрался. другой вопрос:
есть у меня дерево значений "СписокСчетов"
заполняется через запрос нормально.
есть три колонки, "Код", "флВкл" и "Наименование". все отображаются, разворачиваются, но флажок только на верхнем уровне.
пытаюсь добавить подчиненные строки, они добавляются, но нет значка флажка. где я накосячил?

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


ЭлементыФормы.СписокСчетов.СоздатьКолонки();
ЭлементыФормы.СписокСчетов.Колонки.Счет.Видимость = Ложь;
ЭлементыФормы.СписокСчетов.Колонки.флВкл.ДанныеФла жка = "флВкл";
ЭлементыФормы.СписокСчетов.Колонки.флВкл.Данные = "";
ЭлементыФормы.СписокСчетов.Колонки.флВкл.Ширина = 3;
ЭлементыФормы.СписокСчетов.Колонки.флВкл.Видимость = Истина;
ЭлементыФормы.СписокСчетов.Колонки.флВкл.Доступнос ть = Истина;
ЭлементыФормы.СписокСчетов.Колонки.флВкл.Установит ьЭлементУправления(Тип("Флажок"));
ЭлементыФормы.СписокСчетов.Колонки.флВкл.РежимРеда ктирования = РежимРедактированияКолонки.Непосредственно;
ЭлементыФормы.СписокСчетов.Колонки.флВкл.Отображат ьИерархию = Истина;
ЭлементыФормы.СписокСчетов.Колонки.флВкл.ЭлементУп равления.ПрозрачныйФон = Истина;
//ЭлементыФормы.СписокСчетов.Колонки.флВкл.ТриСостоя нияФлажка = Истина;


Для Каждого Сч Из СписокСчетов.Строки Цикл
СубконтоСчета = Сч.Строки.Добавить();
СубконтоСчета.Наименование = " Карточка счета";
СубконтоСчета.Код = 1;
СубконтоСчета.ФлВкл = 1;
СубконтоСчета = Сч.Строки.Добавить();
СубконтоСчета.Наименование = " По Субконто";
СубконтоСчета.ФлВкл = 1;
КонецЦикла;


К списку вопросов






Copyright ©, Все права защищены