|
|
|
Проблема со схемой запроса. | ☑ | ||
|---|---|---|---|---|
|
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
|
в ошибке одно расширение, кяп, в тексте запроса - другое...
|
|||
|
3
СвинТуз
04.12.25
✎
09:10
|
КонечныйИсточник.Источник это строка видимо
соответственно свойств нет у нее |
|||
|
4
СвинТуз
04.12.25
✎
09:10
|
тут лажа
ИсточникПравый = Источники.Добавить("РегистрБухгалтерии.Хозрасчетный.Обороты", "ХозрасчетныйОбороты"); |
|||
|
5
Ненавижу 1С
гуру
04.12.25
✎
09:11
|
сВыражение = "
|ВЫБОР | КОГДА ХозрасчетныйОбороты.Счет ЕСТЬ NULL | ТОГДА ЛОЖЬ | ИНАЧЕ ИСТИНА |КОНЕЦ"; можно упростить до НЕ ХозрасчетныйОбороты.Счет ЕСТЬ NULL |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |