|   |   | 
| 
 | выборка из ТЧ запросом | ☑ | ||
|---|---|---|---|---|
| 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) да спасибо, вот так всё заработало, нужно же было из ВТ_ТабЧасть вторым пакетом выбирать     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |