Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 18:32

Обороты по счетам за период без аналитики

Автор Tyshkan, 26 апр 2013, 13:52

0 Пользователей и 1 гость просматривают эту тему.

Tyshkan

вот получился такой код:

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

Msoul

Все правильно тебе и показывает одну сумму. Ты же по таблице проходишься и подставляешь последнюю сумму из выборки Результат.СуммаОборот


   ТЗ.Свернуть("Счет","СуммаОборотов");
   Для Каждого стр из ТЗ Цикл
      Строка = ТД.Добавить();
      Строка.Счет = стр.Счет;
      Строка.СуммаОборотов = Формат(стр.СуммаОборот,"ЧДЦ=2");
   КонецЦикла;   

Tyshkan

как сделать чтобы он суммировал суммы по счетам и их выводил?

Msoul

Цитата: Tyshkan от 26 апр 2013, 14:48
как сделать чтобы он суммировал суммы по счетам и их выводил?
Общий итог по всем счетам? Так:

    Итог = 0;
     ТЗ.Свернуть("Счет","СуммаОборотов");
   Для Каждого стр из ТЗ Цикл
      Строка = ТД.Добавить();
      Строка.Счет = стр.Счет;
      Строка.СуммаОборотов = Формат(стр.СуммаОборот,"ЧДЦ=2");
       Итог = Итог + Строка.СуммаОборотов;
   КонецЦикла;   

Tyshkan


Msoul


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



При получении из виртуальной таблицы автоматически будет сумма по каждому счету

Tyshkan

просто мне нужны счета без аналитики!!

Msoul


Tyshkan

ну сумма должна быть по 01, а не мо 01.01 и т.д

Dethmontt

Ппц. Вот это трактовка!!!

(На будущее: Сказанное тобой тут - "ну сумма должна быть по 01, а не мо 01.01 и т.д" называется по группе счетов!) Советую прежде чем что то пытаться сделать для бухгалтерского учета - сначала почитать что это такое!
Что такое план счетов в 1С и Регистры бухгалтерии (дабы не задавать в будущем "Глупые" вопросы).

Змени в запросе условие "В ИЕРАРХИИ(&Счета)" на "В (&Счета)"
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск