Имя: Пароль:
1C
1С v8
Сравнение значения реквизита Табличной части
0 jojojoba2
 
22.05.19
09:59
Добрый день!

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


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

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

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

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


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

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

Спасибо!
1 butterbean
 
22.05.19
10:05
ничего не понятно, но просто напиши в запросе в первом поле
ВЫБОР КОГДА ХозрасчетныйОбороты.КорСчет = &Счет023 ТОГДА КорСубконто2 ИНАЧЕ КорСубконто1 КОНЕЦ КАК КорСубконто
2 jojojoba2
 
22.05.19
16:32
Спасибо, все заработало.

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

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