Имя: Пароль:
1C
 
Проблема со схемой запроса.
0 soldierboy
 
03.12.25
17:06
Всем привет, не могу решить проблему с операциями веденными в ручную в 1С БП
Поле объекта не обнаружено (Тип)
{PEN005_BUH_ROLE Документ.ОперацияБух.Форма.ФормаСписка.Форма(42)}:Пока КонечныйИсточник.Источник.Тип = Тип("ИсточникЗапросаСхемыЗапроса") Цикл
{PEN005_BUH_ROLE Документ.ОперацияБух.Форма.ФормаСписка.Форма(5)}:PEN005_ИзменитьЗапросСписка(ЭтотОбъект.Список);
{ОбщийМодуль.ОбщегоНазначенияБПКлиент.Модуль(977)}:ОткрытьФорму(ПараметрыОткрытия.ИмяФормы,
{ОбщаяФорма.ДлительнаяОперацияОткрытиеСписка.Форма(40)}:ОбщегоНазначенияБПКлиент.ОткрытьОсновнуюФорму(Истина, ПараметрыОткрытияКлиент, Параметры.ПараметрыОткрываемойФормы);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
Вот код
&НаСервере
Процедура PEN005_ИзменитьЗапросСписка(Знач оСписок)
    Перем СхемаЗапроса, ОператорЗапроса, Источники, ИсточникПравый, ИсточникЛевый, сВыражение, Параметр;
    
    СхемаЗапроса = Новый СхемаЗапроса();
    СхемаЗапроса.УстановитьТекстЗапроса(оСписок.ТекстЗапроса);
    
    ОператорЗапроса = СхемаЗапроса.ПакетЗапросов[0].Операторы[0];
    Источники = ОператорЗапроса.Источники;
    
    ИсточникПравый = Источники.Добавить("РегистрБухгалтерии.Хозрасчетный.Обороты", "ХозрасчетныйОбороты");
    ИсточникПравый.Источник.Параметры[2].Выражение = Новый ВыражениеСхемыЗапроса("Регистратор");
    ИсточникПравый.Источник.Параметры[3].Выражение = Новый ВыражениеСхемыЗапроса("Счет В (&СчетаСОграничениями)");
    
    ИсточникЛевый = Источники.НайтиПоИмени("Документ.ОперацияБух");
    
    ИсточникЛевый.Соединения.Добавить(ИсточникПравый, "ДокументОперацияБух.Ссылка = ХозрасчетныйОбороты.Регистратор");
    ИсточникЛевый.Соединения[0].ТипСоединения = ТипСоединенияСхемыЗапроса.ЛевоеВнешнее;
    
    сВыражение = "
    |ВЫБОР
    |    КОГДА ХозрасчетныйОбороты.Счет ЕСТЬ NULL
    |        ТОГДА ЛОЖЬ
    |    ИНАЧЕ ИСТИНА
    |КОНЕЦ";
    
    ОператорЗапроса.ВыбираемыеПоля.Добавить(сВыражение, 0);
    СхемаЗапроса.ПакетЗапросов[0].Колонки[0].Псевдоним = "ЕстьСчетаСОграничениями";
    
    оСписок.ТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса();
    оСписок.УстановитьОбязательноеИспользование("ЕстьСчетаСОграничениями", Истина);
    
    Параметр = оСписок.Параметры.Элементы.Найти("СчетаСОграничениями");
    Параметр.Значение = PEN005_УправлениеДоступом.PEN005_СчетаЗарплаты();
    Параметр.Использование = Истина;
    
КонецПроцедуры
Кто знает в чем может быть проблема?
1 1cVandal
 
03.12.25
17:10
Отладка в этом месте  "КонечныйИсточник.Источник" что показывает?
2 mikecool
 
03.12.25
17:31
в ошибке одно расширение, кяп, в тексте запроса - другое...
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший