• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

  • Автор темы Guest
  • Дата начала
G

Guest

Помогите пожалуйста! Написала функцию для определения д*цензура*а счета на начало периода(счет определяется в другой процедуре). Работает только для субсчета или счета у которого нет субсчетов. Что нужно изменить чтобы работало например для 10 счета?

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

KiR

Не совсем понял что нужно. Если на 10 счете есть Начальный Д*цензура*овый остаток - то он будет в переменной Итог. Если нужна сумма с субсчетов или же с массива счетов то нужно заменить строку:

|ГДЕ
| ХозрасчетныйОстаткиИОбороты.Счет = &Счет";
На
|ГДЕ
| ХозрасчетныйОстаткиИОбороты.Счет В &Счет; // если передается массив счетов
ИЛИ
|ГДЕ
| ХозрасчетныйОстаткиИОбороты.Счет В иерархии &Счет"; // в случае если нужно с субсчетами
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!