8.х Проблема с получением таблицы в запросе..

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Zablkon, 19 янв 2015.

  1. TopicStarter Overlay
    Zablkon
    Offline

    Zablkon

    Регистрация:
    2 янв 2014
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Пытаюсь с модуля команды на форме справочника создать СчётНаОплатуПокупателю с заполнением данных из текущего элемента справочника. Но запрос ни в каких вариантах не возвращает данные.
    Код:
    &НаКлиенте
    Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
         Ссылка = ПараметрыВыполненияКоманды.Источник.ТекущийЭлемент.ТекущаяСтрока;
        СоздатьДокумент(Ссылка)
    КонецПроцедуры
    
    &НаСервере
    Процедура СоздатьДокумент(Ссылка)
        Счёт = Документы.СчетНаОплатуПокупателю.СоздатьДокумент();
        Запрос = Новый Запрос;
        Запрос.Текст =  "ВЫБРАТЬ
                        |    Приборы.Владелец.Владелец.Ссылка,
                        |    Приборы.Владелец.Ссылка,
                        |    Приборы.ВыполненныеРаботы.(
                        |        ВыполненныеРаботы.Цена,
                        |        ВыполненныеРаботы.НаименованиеПолное,
                        |        ВыполненныеРаботы.Наименование
                        |    )
                        |ИЗ
                        |    Справочник.Приборы КАК Приборы
                        |ГДЕ
                        |    Приборы.Владелец.Ссылка = &Ссылка" ;
        Запрос.УстановитьПараметр("Ссылка", Ссылка);
        Выборка = Запрос.Выполнить().Выбрать();
     
        ВыборкаПриборы = Справочники.Приборы.Выбрать( ,Ссылка);
        Пока ВыборкаПриборы.Следующий() Цикл
            ОбъектПриборы = ВыборкаПриборы.ПолучитьОбъект();
             КонецЦикла;
     
    КонецПроцедуры
    Фрагмент не полный, для примера...
    Нужны данные из таблицы "ВыполненныеРаботы" для заполнения в новом документе.
    Другим способом пытаюсь (Справочники.Приборы.Выбрать( ,Ссылка)), возвращается вместо таблицы ссылка... (см рис.).
    https://yadi.sk/i/BPYnGRuhe5qHk
    [​IMG]
    Здесь см. рис. часть таблицы...
    https://yadi.sk/i/Ig3FZvuGe5qHi
    [​IMG]
    Почему в выборке "Ошибка чтения значения" ?
    https://yadi.sk/i/-O37pyW4e5rRh
    И как мне всё-таки заполучить эти значения из таблицы?
    При всём этом точно такой же запрос в процедуре на печать из модуля менеджера проходит успешно...
    Последнее редактирование: 19 янв 2015
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    не совсем поняла ваш круговорот по Ссылке, но получить тч, тем более что у вас 1 документ можно так
    Код:
    Запрос.Текст =  "ВЫБРАТЬ
                        |    Приборы.Ссылка.Владелец.Владелец.Ссылка,
                        |    Приборы.Ссылка.Владелец.Ссылка,
                        |    Приборы.Цена,
                        |    Приборы.НаименованиеПолное,
                        |    Приборы.Наименование
                        |ИЗ
                        |    Справочник.Приборы.ВыполненныеРаботы КАК Приборы
                        |ГДЕ
                        |    Приборы.Ссылка.Владелец = &Ссылка" ;
    особо в ваш запрос не вчитывалась, только поправила, чтоб сразу из ТЧ данные выбирались.. работоспособность на своем примере проверяйте
  3. TopicStarter Overlay
    Zablkon
    Offline

    Zablkon

    Регистрация:
    2 янв 2014
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    "Круговорот" это, наверное, то что я оставил два варианта выборки. Через запрос и из справочника..., для наглядности примера.
    Код:
    Запрос.Текст =   "ВЫБРАТЬ
                        |    Приборы.Ссылка.Владелец.Владелец.Ссылка,
                        |    Приборы.Ссылка.Владелец.Ссылка
                        |ИЗ
                        |    Справочник.Приборы.ВыполненныеРаботы КАК Приборы
                        |ГДЕ
                        |    Приборы.Ссылка.Владелец = &Ссылка" ;
    
    Результат, к сожалению, тот же..
  4. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    отладчик вам в помощь, может ссылка не приходит на сервер?
  5. TopicStarter Overlay
    Zablkon
    Offline

    Zablkon

    Регистрация:
    2 янв 2014
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    По выборке из справочника можете что-нибудь сказать?
  6. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    код запроса я более чем уверена рабочий, проверяйте ссылку
  7. TopicStarter Overlay
    Zablkon
    Offline

    Zablkon

    Регистрация:
    2 янв 2014
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Тут я не очень в курсе, как проследить приход на сервер ссылки в отладчике...
  8. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    вот сюда ставьте точку останова
    Ссылка = ПараметрыВыполненияКоманды.Источник.ТекущийЭлемент.ТекущаяСтрока;
    и запускайте отладчик (f5), когда выполнение кода дойдет до данной точки, то нажмете (f11) и посмотрете в табло чему равна ваша "Ссылка"
    --- Объединение сообщений, 19 янв 2015 ---
    отладчик хороший помошник, постарайтесь его освоить
  9. TopicStarter Overlay
    Zablkon
    Offline

    Zablkon

    Регистрация:
    2 янв 2014
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Ну так она и есть ссылка...
    "Ссылка М-002 СправочникСсылка.Заказы"
  10. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а справочник Приборы подчинен справочнику Заказы?
  11. TopicStarter Overlay
    Zablkon
    Offline

    Zablkon

    Регистрация:
    2 янв 2014
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Да подчинён...
    В другом модуле такой запрос проходит... Не в модуле тут дело?
  12. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а как вы результат проверяете?
  13. TopicStarter Overlay
    Zablkon
    Offline

    Zablkon

    Регистрация:
    2 янв 2014
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    https://yadi.sk/i/BPYnGRuhe5qHk
    и в коде... в цикле, пытаясь выудить значения.
    --- Объединение сообщений, 19 янв 2015 ---
    Я объединил две конфигурации, типовую и нестандартную, это не может как то влиять?
  14. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    к сожалению ссылки мне недоступны в силу ограничений сети... в процедуру с диррективой НаСервере ваша ссылка пришла? отладчик чего говрит?
  15. TopicStarter Overlay
    Zablkon
    Offline

    Zablkon

    Регистрация:
    2 янв 2014
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    "Ссылка М-002 СправочникСсылка.Заказы"
    Свойство = Ссылка
    Значение = М-002
    Тип = СправочникСсылка.Заказы
    --- Объединение сообщений, 19 янв 2015 ---
    Вот ещё нюанс:
    Запрос.УстановитьПараметр {(1)}: Поле объекта не обнаружено (УстановитьПараметр)
  16. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а справочник Заказы еще комы то подчинен? у вас в запросе Владелец.Владелец есть
    --- Объединение сообщений, 19 янв 2015 ---
    попробуйте мой запрос в консоли запросов запустить (это обработка есть аткая) и укажите в качестве параметра нужный вам Заказ. Посмотрите что вернется
  17. TopicStarter Overlay
    Zablkon
    Offline

    Zablkon

    Регистрация:
    2 янв 2014
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Попробую, но опять же.. в другом модуле работает
    Код:
    Процедура ПечатьИзвещения(ТабДок, Ссылка) Экспорт
        //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
        Макет = Справочники.Заказы.ПолучитьМакет("ПечатьИзвещения");
        НСтр = 0;
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    Заказы.Код,
        |    Заказы.Дата,
        |    Заказы.Владелец,
        |    Заказы.Владелец.НаименованиеПолное
        |ИЗ
        |    Справочник.Заказы КАК Заказы
        |ГДЕ
        |    Заказы.Ссылка В(&Ссылка)";
        запросПриборы = Новый Запрос;
        запросПриборы.Текст =
         "ВЫБРАТЬ
         |    Приборы.Наименование,
         |    Приборы.Номер,
         |    Приборы.Ду,
         |    Приборы.Паспорт,
         |    Приборы.Узел,
         |    Приборы.КомментарииКИзвещениям,
         |    Приборы.Преобразователи.(
         |        Ссылка,
         |        НомерСтроки,
         |        Номер,
         |        КомментарииКИзвещениям,
         |        Ду,
         |        Наименование,
         |        Паспорт
         |    )
         |ИЗ
         |    Справочник.Приборы КАК Приборы
         |ГДЕ
         |    Приборы.Владелец В(&Владелец)" ;
    
        запросДатчики = Новый Запрос;
        запросДатчики.Текст =
         "ВЫБРАТЬ
         |    Датчики.Наименование,
         |    Датчики.Номер,
         |    Датчики.Паспорт,
         |    Датчики.КомментарииКИзвещениям
         |ИЗ
         |    Справочник.Датчики КАК Датчики
         |ГДЕ
         |    Датчики.Владелец В(&Владелец)" ;
         СпособВыборки = ОбходРезультатаЗапроса.Прямой;
         Запрос.Параметры.Вставить("Ссылка", Ссылка);
         ЗапросПриборы.Параметры.Вставить("Владелец", Ссылка);
         ЗапросДатчики.Параметры.Вставить("Владелец", Ссылка);
         
        Выборка = Запрос.Выполнить().Выбрать();
        ВыборкаПриборы = ЗапросПриборы.Выполнить().Выбрать();
        ВыборкаДатчики =ЗапросДатчики.Выполнить().Выбрать();
        ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
        Шапка = Макет.ПолучитьОбласть("Шапка");
        Таб = макет.ПолучитьОбласть("Таб");
        Тело = Макет.ПолучитьОбласть("Тело");
        Подписи = макет.ПолучитьОбласть("Подписи");
        ТабДок.Очистить();
    
  18. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    где выполняется этот запрос...
  19. TopicStarter Overlay
    Zablkon
    Offline

    Zablkon

    Регистрация:
    2 янв 2014
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Из этой же формы из модуля менеджера справочника. Стандартная команда "печать"
    --- Объединение сообщений, 19 янв 2015 ---
    Консоль не нахожу у себя... Она как будто входит в учебную версию?
    Последнее редактирование: 19 янв 2015
  20. TopicStarter Overlay
    Zablkon
    Offline

    Zablkon

    Регистрация:
    2 янв 2014
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    В консоле запросов мой первоначальный запрос возвращает всё что требуется, а именно "ВыполненныеРаботы" в количестве двух значений... т.е. работает.
    --- Объединение сообщений, 19 янв 2015 ---
    Что-то, вероятно, не даёт из этого модуля сделать запрос...

Поделиться этой страницей