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

Сравнение значения реквизита Табличной части

Автор jojojoba2, 22 мая 2019, 09:58

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

jojojoba2

Добрый день!

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


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

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


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

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


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

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

Спасибо!

LexaK

ни чего не понятно
сразу вопрос а почему сразу все субконто в одном запросе не получаете?
|    ХозрасчетныйОбороты.КорСубконто1,
|    ХозрасчетныйОбороты.КорСубконто2,
|    ХозрасчетныйОбороты.КорСубконто3,

при обработке результата проверять значения, пример

Если ЗначениеЗаполнено(Выборка.КорСубконто1) Тогда
    //обработка по КорСубконто1

ИначеЕсли ЗначениеЗаполнено(Выборка.КорСубконто2) Тогда
    //обработка по КорСубконто2

ИначеЕсли ЗначениеЗаполнено(Выборка.КорСубконто3) Тогда
    //обработка по КорСубконто3

КонецЕсли;



или в запросе значение Null обходится так

|    ЕстьNull(ХозрасчетныйОбороты.КорСубконто1,ХозрасчетныйОбороты.КорСубконто2) как КорСубконто,


если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск