Добрый день!

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

Для Счета 023 нужно использовать запрос :

ВЫБРАТЬ
 // | ХозрасчетныйОбороты.КорСубконто2,
 // | ХозрасчетныйОбороты.СуммаОборотДт
 // |ИЗ
 // | РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, , , , , ) КАК ХозрасчетныйОбороты
 // |ГДЕ
 // | ХозрасчетныйОбороты.Регистратор = &Ссылка"

и форма по 023 работает норм.Но другие тогда не пашут.

Подскажите пожалуйста начинающему програмисту, как сделать правильно выбор между запросами. Я хочу сравнить Значение поля табличной части с 023 счетом:

@@ Если Документы.ПеремещениеТоваров.Товары.СчетУчетаБУ = "023" то запрос 2, иначе запрос 1.@@ Товары-это ТАБЛИЧНАЯ ЧАСТЬ, СчетУчетаБУ- это реквизит табличной табличной части.

Как вытащить значение из СчетУчетаБУ с сылкой на товар в документе? Можете сбросить подобный пример.

Спасибо!
---
ВЫБРАТЬ
// | Выбор когда ХозрасчетныйОбороты.Счет = &Счет023 тогда ХозрасчетныйОбороты.КорСубконто2 иначе ХозрасчетныйОбороты.КорСубконто1 Конец КАК КорСубконто,
// | ХозрасчетныйОбороты.СуммаОборотДт
// |ИЗ
// | РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, , , , , ) КАК ХозрасчетныйОбороты
// |ГДЕ
// | ХозрасчетныйОбороты.Регистратор = &Ссылка"

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

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

Но все же уже, чисто, интересно как сделать сравнение реквизита Табличной Части какого то другого документа с значением с помощью менеджера :

@@ Если Документы.ПеремещениеТоваров.Товары.СчетУчетаБУ = "023" то запрос 2, иначе запрос 1.@@ Товары-это ТАБЛИЧНАЯ ЧАСТЬ, СчетУчетаБУ- это реквизит табличной табличной части.