Добрый день!
Конфигурация УПП для Украины. Есть документ ПеремещениеТоваров. Я для него исправляю типичную форму с вывод суммы для товара. Данные взял с регистра Бухгалтерии Хозрасчетный( ХозрасчетныйОбороты). Форма работает ,но при выборе 023 счета пишет "индекс находится за границами массива".Я разобрался, В запросе при выборе ХозрасчетныйОбороты.КорСубконто1 попадает значение NULL :
|ВЫБРАТЬ
| ХозрасчетныйОбороты.КорСубконто1,
| ХозрасчетныйОбороты.СуммаОборотДт
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, , , , , ) КАК ХозрасчетныйОбороты
|ГДЕ
| ХозрасчетныйОбороты.Регистратор = &Ссылка
|ВЫБРАТЬ
| ХозрасчетныйОбороты.КорСубконто2,
| ХозрасчетныйОбороты.СуммаОборотДт
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, , , , , ) КАК ХозрасчетныйОбороты
|ГДЕ
| ХозрасчетныйОбороты.Регистратор = &Ссылка
! | http://pro1c.org.ua/index.php?act=announce&id=2: 9 |
Если у вас на всех счетах, которые вы обрабатываете, есть одно и то же субконто, но оно находится в разном порядке, можно передать специальный параметр в РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, , &ВидыСубконто, , , )
ВидыСубконто = Новый Массив;
ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ВАШЕ_СУБКОНТО);
Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто);
Vofka @ Сегодня, 11:24
,
Спасибо, все заработало.
Но все же уже, чисто, интересно как сделать сравнение реквизита Табличной Части с другим значением с помощью менеджера :
@@ Если Документы.ПеремещениеТоваров.Товары.СчетУчетаБУ = "023" то запрос 2, иначе запрос 1.@@ Товары-это ТАБЛИЧНАЯ ЧАСТЬ, СчетУчетаБУ- это реквизит табличной табличной части.
Если правильно понял, то использовать конструкцию ВЫБОР ... КОГДА ... КОНЕЦ (псевдокод):
ВЫБОР
КОГДА ...Счет = "023" ТОГДА Субконто1
ИНАЧЕ Субконто2
КОНЕЦ КАК МоеСубконто
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua