Убрать 50.04 счет с самописного отчета. Бух 8.3
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
СписокИскл = Новый СписокЗначений;
СписокИскл.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.04"));
_Счета = Новый СписокЗначений;
_Счета.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("62"));
_Счета.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("76.05"));
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.01"));
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.02"));
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.03"));
Пока Счета.Следующий() Цикл
КорСчет.Добавить(Счета.Ссылка);
КонецЦикла;
ТекстЗапроса = "ВЫБРАТЬ
| ХозрасчетныйОбороты.КорСчет,
| СУММА(ХозрасчетныйОбороты.СуммаОборотДт) КАК СуммаОборотДт,
| СУММА(ХозрасчетныйОбороты.СуммаОборотКт) КАК СуммаОборотКт,
| ХозрасчетныйОбороты.СуммаОборотКт - ХозрасчетныйОбороты.СуммаОборотДт КАК Сумма,
| ХозрасчетныйОбороты.Субконто1 КАК Контрагент,
| ХозрасчетныйОбороты.Счет.Код КАК СчетКод,
| ХозрасчетныйОбороты.КорСчет.Код КАК Счет
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Период, Счет В ИЕРАРХИИ (&Счет), , Субконто1 В (&Субконто1), КорСчет В (&КорСчет), ) КАК ХозрасчетныйОбороты
|
|ГДЕ
| НЕ ХозрасчетныйОбороты.Счет В (&СписокИскл)
|
|СГРУППИРОВАТЬ ПО
| ХозрасчетныйОбороты.КорСчет,
| ХозрасчетныйОбороты.Субконто1,
| ХозрасчетныйОбороты.Счет.Код,
| ХозрасчетныйОбороты.СуммаОборотКт - ХозрасчетныйОбороты.СуммаОборотДт
|
|УПОРЯДОЧИТЬ ПО
| ХозрасчетныйОбороты.Субконто1.Наименование
|ИТОГИ
| СУММА(Сумма)
|ПО
| ОБЩИЕ";
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("СписокИскл", СписокИскл);
Запрос.УстановитьПараметр("НачПериода", ДатаНачала);
Запрос.УстановитьПараметр("КонПериода", ДатаКонца);
Запрос.УстановитьПараметр("Счет", _Счета);
Запрос.УстановитьПараметр("КорСчет", КорСчет);
Показать
(3)
Какой интересный код.... Переменная Счета перезаписывается 3 раза, потом запускается цикл и в него попадет ТОЛЬКО счет 50.03, поскольку у него нет субсчетов (в типовой), каким же образом 50.04 вообще попадает в запрос???
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.01"));
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.02"));
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.03"));
Пока Счета.Следующий() Цикл
КорСчет.Добавить(Счета.Ссылка);
КонецЦикла;
ПоказатьКакой интересный код.... Переменная Счета перезаписывается 3 раза, потом запускается цикл и в него попадет ТОЛЬКО счет 50.03, поскольку у него нет субсчетов (в типовой), каким же образом 50.04 вообще попадает в запрос???
(12)
Согласен. Выше это лишь эксперименты, не обратил внимания, что не поменял обратно.
Вот так должно быть. Что указать в запросе?
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.01"));
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.02"));
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.03"));
Согласен. Выше это лишь эксперименты, не обратил внимания, что не поменял обратно.
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50"));
(14)Если хотите указать в запросе, то:
ПланСчетов.Хозрасчетный.Касса - это имя предопределенного счета 50.
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Период, Счет В ИЕРАРХИИ (&Счет), , Субконто1 В (&Субконто1), КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Касса)) и НЕ КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.<ИмяПредопределенногоСчета50.04>)))
ПланСчетов.Хозрасчетный.Касса - это имя предопределенного счета 50.
(19)Нет, нужно узнать имя предопределенного счета 50.04 в конфигураторе и заменить на него.
Если предопределенного счета нет, то создать пакет в запросе с получением счета по коду и использовать результат временной таблицы в качестве значения параметра.
или как уже сказал выше, не парить моск и ограничить счета в цикле обработки выборки плана счетов.
Если предопределенного счета нет, то создать пакет в запросе с получением счета по коду и использовать результат временной таблицы в качестве значения параметра.
или как уже сказал выше, не парить моск и ограничить счета в цикле обработки выборки плана счетов.
(11)
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.01"));
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.02"));
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.03"));
Это я уже с дуру эксперементировал. Правильно будет:
Счета = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(ПланыСчетов.Хозрасчетный.НайтиПоКоду("50"));
ТекстЗапроса = "ВЫБРАТЬ
| ХозрасчетныйОбороты.КорСчет,
| СУММА(ХозрасчетныйОбороты.СуммаОборотДт) КАК СуммаОборотДт,
| СУММА(ХозрасчетныйОбороты.СуммаОборотКт) КАК СуммаОборотКт,
| ХозрасчетныйОбороты.СуммаОборотКт - ХозрасчетныйОбороты.СуммаОборотДт КАК Сумма,
| ХозрасчетныйОбороты.Субконто1 КАК Контрагент,
| ХозрасчетныйОбороты.Счет.Код КАК СчетКод,
| ХозрасчетныйОбороты.КорСчет.Код КАК Счет
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Период, Счет В ИЕРАРХИИ (&Счет), , Субконто1 В (&Субконто1), (КорСчет В (&КорСчет) и (НЕ КорСчет В (&СписокИскл))), ) КАК ХозрасчетныйОбороты
|
|
|
|
|СГРУППИРОВАТЬ ПО
| ХозрасчетныйОбороты.КорСчет,
| ХозрасчетныйОбороты.Субконто1,
| ХозрасчетныйОбороты.Счет.Код,
| ХозрасчетныйОбороты.СуммаОборотКт - ХозрасчетныйОбороты.СуммаОборотДт
|
|УПОРЯДОЧИТЬ ПО
| ХозрасчетныйОбороты.Субконто1.Наименование
|ИТОГИ
| СУММА(Сумма)
|ПО
| ОБЩИЕ";
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("СписокИскл", СписокИскл);
Запрос.УстановитьПараметр("НачПериода", ДатаНачала);
Запрос.УстановитьПараметр("КонПериода", ДатаКонца);
Запрос.УстановитьПараметр("Счет", _Счета);
Запрос.УстановитьПараметр("КорСчет", КорСчет);
Показать
(7)
Вы мне скинули без условия. Он так будет выводить весь 50 счет. А мне нужно, чтобы он выводил без 50.04.
ТекстЗапроса = "ВЫБРАТЬ
| ХозрасчетныйОбороты.КорСчет,
| СУММА(ХозрасчетныйОбороты.СуммаОборотДт) КАК СуммаОборотДт,
| СУММА(ХозрасчетныйОбороты.СуммаОборотКт) КАК СуммаОборотКт,
| ХозрасчетныйОбороты.СуммаОборотКт - ХозрасчетныйОбороты.СуммаОборотДт КАК Сумма,
| ХозрасчетныйОбороты.Субконто1 КАК Контрагент,
| ХозрасчетныйОбороты.Счет.Код КАК СчетКод,
| ХозрасчетныйОбороты.КорСчет.Код КАК Счет
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Период, Счет В ИЕРАРХИИ (&Счет), , Субконто1 В (&Субконто1), (КорСчет В (&КорСчет) и (НЕ КорСчет В (&СписокИскл))), ) КАК ХозрасчетныйОбороты
|
|
|
|
|СГРУППИРОВАТЬ ПО
| ХозрасчетныйОбороты.КорСчет,
| ХозрасчетныйОбороты.Субконто1,
| ХозрасчетныйОбороты.Счет.Код,
| ХозрасчетныйОбороты.СуммаОборотКт - ХозрасчетныйОбороты.СуммаОборотДт
|
|УПОРЯДОЧИТЬ ПО
| ХозрасчетныйОбороты.Субконто1.Наименование
Показать| ХозрасчетныйОбороты.КорСчет,
| СУММА(ХозрасчетныйОбороты.СуммаОборотДт) КАК СуммаОборотДт,
| СУММА(ХозрасчетныйОбороты.СуммаОборотКт) КАК СуммаОборотКт,
| ХозрасчетныйОбороты.СуммаОборотКт - ХозрасчетныйОбороты.СуммаОборотДт КАК Сумма,
| ХозрасчетныйОбороты.Субконто1 КАК Контрагент,
| ХозрасчетныйОбороты.Счет.Код КАК СчетКод,
| ХозрасчетныйОбороты.КорСчет.Код КАК Счет
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Период, Счет В ИЕРАРХИИ (&Счет), , Субконто1 В (&Субконто1), (КорСчет В (&КорСчет) и (НЕ КорСчет В (&СписокИскл))), ) КАК ХозрасчетныйОбороты
|
|
|
|
|СГРУППИРОВАТЬ ПО
| ХозрасчетныйОбороты.КорСчет,
| ХозрасчетныйОбороты.Субконто1,
| ХозрасчетныйОбороты.Счет.Код,
| ХозрасчетныйОбороты.СуммаОборотКт - ХозрасчетныйОбороты.СуммаОборотДт
|
|УПОРЯДОЧИТЬ ПО
| ХозрасчетныйОбороты.Субконто1.Наименование
Вы мне скинули без условия. Он так будет выводить весь 50 счет. А мне нужно, чтобы он выводил без 50.04.
Посмотрите внимательнее.
Условие задано непосредственно в параметрах виртуальной таблицы "Обороты":
Условие задано непосредственно в параметрах виртуальной таблицы "Обороты":
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Период, Счет В ИЕРАРХИИ (&Счет), , Субконто1 В (&Субконто1), (КорСчет В (&КорСчет) и (НЕ КорСчет В (&СписокИскл))), ) КАК ХозрасчетныйОбороты
Колонка с счетом на Вашем рисунке номер 2 - это что за поле запроса?
В выборке запроса у Вас 7 полей. Из них по крайней мере 3 имеют в качестве представления номер счета. На картинке результата выборки только 3 поля. Из них первое и второе - это, видимо, контрагент и сумма. Третье поле - это что?
В выборке запроса у Вас 7 полей. Из них по крайней мере 3 имеют в качестве представления номер счета. На картинке результата выборки только 3 поля. Из них первое и второе - это, видимо, контрагент и сумма. Третье поле - это что?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот