|
выборка из ТЧ запросом | ☑ | ||
---|---|---|---|---|
0
vux13
08.12.23
✎
14:18
|
всем привет
платформа 8.3.22.2239 подскажите вот хочу сделать выборку из ТЧ объекта, но ошибка или я что-то не понимаю или что-то не работает вот код: в ТЧ колонки: НомерСтроки(число), Покупатель(Ссылка), Ключ(число), СчетФактура(булево) &НаСервере Функция ЗапросКТЧ() МенеджерТЧ = Новый МенеджерВременныхТаблиц; Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = МенеджерТЧ; Запрос.Текст = "ВЫБРАТЬ | ТабЧасть.НомерСтроки КАК НомерСтроки, | ТабЧасть.Покупатель КАК Покупатель, | ТабЧасть.Ключ КАК Ключ, | ТабЧасть.СчетФактура КАК СчетФактура |ПОМЕСТИТЬ ВТ_ТабЧасть |ИЗ | &ТабЧасть КАК ТабЧасть"; Запрос.УстановитьПараметр("ТабЧасть", Объект.ТабличнаяЧасть1); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); ПокупателиМассив = Новый Массив; Пока Выборка.Следующий() Цикл ПокупателиСтруктура = Новый Структура("НомерСтроки, Покупатель, Ключ, СчетФактура"); ПокупателиСтруктура.НомерСтроки = Выборка.НомерСтрокиТЧ; ПокупателиСтруктура.Покупатель = Выборка.ПокупательТЧ; ПокупателиСтруктура.Ключ = Выборка.КлючТЧ; ПокупателиСтруктура.СчетФактура = Выборка.СчетФактураТЧ; ПокупателиМассив.Добавить(ПокупателиСтруктура) КонецЦикла; Возврат ПокупателиМассив; КонецФункции Ошибка при вызове метода контекста (Выполнить) {ВнешняяОбработка.DM_Обработка1.Форма.Форма.Форма(30)}: РезультатЗапроса = Запрос.Выполнить(); {ВнешняяОбработка.DM_Обработка1.Форма.Форма.Форма(5)}: Результат = ЗапросКТЧ(); по причине: {(8, 2)}: Неверные параметры "ТабЧасть" <<?>>&ТабЧасть КАК ТабЧасть по причине: {(8, 2)}: Неверные параметры "ТабЧасть" <<?>>&ТабЧасть КАК ТабЧасть |
|||
1
mikecool
08.12.23
✎
14:20
|
нельзя передавать табчасть
|
|||
2
inkvizitr
08.12.23
✎
14:20
|
(0) так работать не будет, логичнее в запросе выбрать ТЧ, а в параметр подставить ссылку на документ
|
|||
3
mikecool
08.12.23
✎
14:21
|
(2) зависит от точки вызова... а если док не записан?
|
|||
4
inkvizitr
08.12.23
✎
14:21
|
(2) пример:
"ВЫБРАТЬ | АвизоМПЗИсходящееТовары.Ссылка КАК Ссылка, | АвизоМПЗИсходящееТовары.НомерСтроки КАК НомерСтроки, | АвизоМПЗИсходящееТовары.Номенклатура КАК Номенклатура, | АвизоМПЗИсходящееТовары.Количество КАК Количество, | АвизоМПЗИсходящееТовары.СчетУчета КАК СчетУчета |ИЗ | Документ.АвизоМПЗИсходящее.Товары КАК АвизоМПЗИсходящееТовары |ГДЕ | АвизоМПЗИсходящееТовары.Ссылка = &Ссылка" |
|||
5
shuhard
08.12.23
✎
14:22
|
(2) ТЧ обработки =)
|
|||
6
inkvizitr
08.12.23
✎
14:22
|
(3) если док не записан, то ТЧ выгружаешь в ТЗ и подставляешь в параметр запроса
|
|||
7
mikecool
08.12.23
✎
14:23
|
(6) и конечно не зная контекста бросился на амбразуру )
|
|||
8
mikecool
08.12.23
✎
14:23
|
имхо - снова ИИ кто то натравил на форум
|
|||
9
vux13
08.12.23
✎
14:24
|
(1) а как тогда передать ?
(2) не понял как это сделать, документа как бы нет, есть только обработка с табличной частью, в неё помещаются данные, эти данные выбрать запросом |
|||
10
inkvizitr
08.12.23
✎
14:24
|
(7) Запрос.Установитьпараметр("Товары", Объект.Товары.Выгрузить());
"ВЫБРАТЬ | АвизоМПЗИсходящееТовары.Ссылка КАК Ссылка, | АвизоМПЗИсходящееТовары.НомерСтроки КАК НомерСтроки, | АвизоМПЗИсходящееТовары.Номенклатура КАК Номенклатура, | АвизоМПЗИсходящееТовары.Количество КАК Количество, | АвизоМПЗИсходящееТовары.СчетУчета КАК СчетУчета |ИЗ | &Товары КАК АвизоМПЗИсходящееТовары" |
|||
11
inkvizitr
08.12.23
✎
14:28
|
у незаписанного документа получить данные
Выгрузка = ЭтотОбъект.Объект.Товары.Выгрузить() |
|||
12
inkvizitr
08.12.23
✎
14:31
|
(8) ты тут походу местный Алешка в кавычках, везде вставляешь свои 5 копеек не по делу
|
|||
13
lEvGl
08.12.23
✎
14:35
|
а давно это из объектной тч запросом выбирать нельзя?
|
|||
14
inkvizitr
08.12.23
✎
14:39
|
(13) из слов автора, документ заполняется и не сохраняется, собственно объект получается пустой
|
|||
15
lEvGl
08.12.23
✎
14:43
|
(14) не, не ссылка, именно объект. и у тса же обработка, а не документ. но без разницы, хоть в справочнике ТЧ, ее всегда можно было параметром в запрос кинуть
|
|||
16
vux13
08.12.23
✎
14:44
|
(11) так сделал, но сейчас другая ошибка:
Поле объекта не обнаружено (НомерСтроки) {ВнешняяОбработка.DM_Обработка1.Форма.Форма.Форма(36)}: ПокупателиСтруктура.НомерСтроки = Выборка.НомерСтроки; {ВнешняяОбработка.DM_Обработка1.Форма.Форма.Форма(5)}: Результат = ЗапросКТЧ(); и если посмотреть отладчиком в РезультатЗапроса.Выбрать(), то там значение - "ошибка чтения значения" |
|||
17
inkvizitr
08.12.23
✎
14:48
|
(16) посмотри в отладке как называются у тебя колонки в таблице значений, есть ли там такая колонка номер строки?
|
|||
18
inkvizitr
08.12.23
✎
14:49
|
(16) и я правильно понимаю, ты делал как то ват так
"ВЫБРАТЬ | АвизоМПЗИсходящееТовары.Ссылка КАК Ссылка, | АвизоМПЗИсходящееТовары.НомерСтроки КАК НомерСтроки, | АвизоМПЗИсходящееТовары.Номенклатура КАК Номенклатура, | АвизоМПЗИсходящееТовары.Количество КАК Количество, | АвизоМПЗИсходящееТовары.СчетУчета КАК СчетУчета |ПОМЕСТИТЬ ВТ |ИЗ | Документ.АвизоМПЗИсходящее.Товары КАК АвизоМПЗИсходящееТовары |ГДЕ | АвизоМПЗИсходящееТовары.Ссылка = &Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТ.Ссылка КАК Ссылка, | ВТ.НомерСтроки КАК НомерСтроки, | ВТ.Номенклатура КАК Номенклатура, | ВТ.Количество КАК Количество, | ВТ.СчетУчета КАК СчетУчета |ИЗ | ВТ КАК ВТ" |
|||
19
inkvizitr
08.12.23
✎
14:50
|
(18) т.е. после первого пакетного запроса который у тебя называется |ПОМЕСТИТЬ ВТ_ТабЧасть ты создал второй пакет и от туда выводишь данные?
|
|||
20
inkvizitr
08.12.23
✎
14:51
|
(16) и еще вопрос зачем ты используешь Новый МенеджерВременныхТаблиц; если у тебя даже параметры не передаются в твою функцию
|
|||
21
inkvizitr
08.12.23
✎
14:53
|
(16) пришли синтаксис того, чего у тебя сейчас получилось
|
|||
22
inkvizitr
08.12.23
✎
14:54
|
(18) Извиняюсь, вот так должно что то получиться
"ВЫБРАТЬ | АвизоМПЗИсходящееТовары.Ссылка КАК Ссылка, | АвизоМПЗИсходящееТовары.НомерСтроки КАК НомерСтроки, | АвизоМПЗИсходящееТовары.Номенклатура КАК Номенклатура, | АвизоМПЗИсходящееТовары.Количество КАК Количество, | АвизоМПЗИсходящееТовары.СчетУчета КАК СчетУчета |ПОМЕСТИТЬ ВТ |ИЗ | &Товары КАК АвизоМПЗИсходящееТовары |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТ.Ссылка КАК Ссылка, | ВТ.НомерСтроки КАК НомерСтроки, | ВТ.Номенклатура КАК Номенклатура, | ВТ.Количество КАК Количество, | ВТ.СчетУчета КАК СчетУчета |ИЗ | ВТ КАК ВТ" |
|||
23
vux13
08.12.23
✎
14:58
|
(22) да спасибо, вот так всё заработало, нужно же было из ВТ_ТабЧасть вторым пакетом выбирать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |