Массив субконто

1. sh1718 07.03.24 12:37 Сейчас в теме
Здравствуйте,
Подскажите, как программно описать такую ситуацию, когда мне нужно по лучить остаток по 2 субконто, которое если смотреть в отчете Анализ счета находится в первом субконто, то есть картина такая получается, есть Типы затрат, как субконто1, а потом разбивка на второе субконто2 статья расходов и мне нужно по второму субконто оборот

На данный момент у меня сделано напрямую, либо так:

РассчитатьСальдоОбороты(СписокСчетовДт,СписокСчетовКт,ВидОстатка,ВидСубконто="",СубконтоДт1=null)

РассчитатьСальдоОбороты(СписокСчетовДт,СписокСчетовКт,"СуммаОборот", ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ТипыЗатрат, Перечисления.ТипыЗатратРегл.МатериальныеЗатраты);


Либо так:
РассчитатьСальдоОбороты(СписокСчетовДт,СписокСчетовКт,"СуммаОборот", ПланыВидовХарактеристик.СтатьиРасходов, ПланыВидовХарактеристик.СтатьиРасходов.НайтиПоКоду("00-000074"));


Не делал яерез массив субконто и пока не могу понять, как описывать и обращаться
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 07.03.24 13:45 Сейчас в теме
(1) В платформе нет функции РассчитатьСальдоОбороты
3. sh1718 07.03.24 14:22 Сейчас в теме
(2) Это моя функция, как я получаю обороты по счетам
4. RustamZz 07.03.24 14:59 Сейчас в теме
(3) Вместо массива добавьте в функцию еще один реквизит Субконто2.
5. sh1718 11.03.24 11:16 Сейчас в теме
(4) Я так пробовал, не помогло
6. RustamZz 11.03.24 11:46 Сейчас в теме
(5) Показывайте внутренности вашей функции
7. sh1718 11.03.24 11:52 Сейчас в теме
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("СписокСчетовДт",СписокСчетовДт);
    Запрос.УстановитьПараметр("СписокСчетовКт",СписокСчетовКт);
    Запрос.УстановитьПараметр("НачалоПериода",Новый Граница(Период.ДатаНачала,ВидГраницы.Включая));
    Запрос.УстановитьПараметр("КонецПериода",Новый Граница(Период.ДатаОкончания,ВидГраницы.Включая)); 
    
    Запрос.УстановитьПараметр("Организация",Объект.Организация);
    Запрос.УстановитьПараметр("СубконтоДт1",СубконтоДт1);

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

    
    Если ЗначениеЗаполнено(ВидСубконто) Тогда
    Иначе
        Запрос.Текст = СтрЗаменить(Запрос.Текст,"&ВидСубконто","");
    КонецЕсли; 
    
    Результат = Запрос.Выполнить().Выбрать();

    Если Результат.Следующий() Тогда
        Возврат Результат.СуммаОборот; 
    Иначе
        Возврат 0;
    КонецЕсли;
Показать
10. RustamZz 13.03.24 11:00 Сейчас в теме
(7)
МассивСубконто = Новый Массив;
МассивСубконто.Добавить(ВидСубконто1);
МассивСубконто.Добавить(ВидСубконто2);
Запрос.УстановитьПараметр("ВидСубконто", МассивСубконто);


Ну и в запросе в отбор дописать
11. sh1718 13.03.24 14:58 Сейчас в теме
(10) Так я прописывал, я больше запутался, что в отборе прописывать, при добавлении массива субконто
сейчас в запросе у меня пока так

Организация = &Организация
И (СубконтоДт1 = &СубконтоДт1
ИЛИ &СубконтоДт1 ЕСТЬ NULL)
12. RustamZz 13.03.24 15:10 Сейчас в теме
(11) Отбор по статье затрат зарплата
8. sh1718 11.03.24 12:04 Сейчас в теме
А получить нужно сумму по статье затрат зарплата
Прикрепленные файлы:
9. sh1718 13.03.24 10:44 Сейчас в теме
13. sh1718 15.03.24 10:50 Сейчас в теме
(12) В общем, у меня получилось с моим массивов, который я раннее объявлял, просто неправильно указывал вид субконто.
Спасибо за помощь
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот