Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 13:11

Вывод запроса в тонком клиенте

Автор byte777, 25 авг 2018, 18:47

0 Пользователей и 1 гость просматривают эту тему.

byte777

Доброго времени суток!
Не пойму как мне выполнить запрос на сервере, а результат вывести на клиенте. Используется тонкий клиент.

&НаСервере
Процедура Команда1(Команда)
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦенаСрезПоследних.Номенклатура.Наименование КАК НН,
| ЦенаСрезПоследних.Цена
|ИЗ
| РегистрСведений.Цена.СрезПоследних КАК ЦенаСрезПоследних";

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(ВыборкаДетальныеЗаписи.НН);
КонецЦикла;


КонецПроцедуры

&НаКлиенте
Процедура ВыводЗапроса ()   Экспорт

Сообщить(!!!!!!!!! Что сюда писать!!!!!!!!!! );

КонецПроцедуры

AIFrame

Передай на сервер элемент формы, в который выводить собрался.

byte777


alexandr_ll

На сервере можно использовать не процедуру, а функцию. Пусть она возвращает на клиент то, что вам нужно.

byte777

Цитата: alexandr_ll от 26 авг 2018, 07:04На сервере можно использовать не процедуру, а функцию.

Не понял? Что значит можно? Как это реализовать? На сервере как я понял должен быть запрос. На клиенте как я понял Сообщить(); Как это сделать?

alex0402

Цитата: byte777 от 26 авг 2018, 12:29Не понял? Что значит можно? Как это реализовать? На сервере как я понял должен быть запрос. На клиенте как я понял Сообщить(); Как это сделать?

&НаСервереБезКонтекста
Функция Команда1(Команда)
        //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
   
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ЦенаСрезПоследних.Номенклатура.Наименование КАК НН,
        |    ЦенаСрезПоследних.Цена
        |ИЗ
        |    РегистрСведений.Цена.СрезПоследних КАК ЦенаСрезПоследних";
   
    РезультатЗапроса = Запрос.Выполнить();


    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
    Результат = Новый Массив;

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Результат.Добавить(ВыборкаДетальныеЗаписи.НН);
    КонецЦикла;
       
   
КонецФункции

&НаКлиенте
Процедура ВыводЗапроса ()   Экспорт
   
    Результат = Команда1(Неопределено);

    Для Каждого Элемент из Результат Цикл

        Сообщить(Элемент);

    КонецЦикла;

КонецПроцедуры


но сообщать можно и прямо с сервера...
Спасибо за Сказать спасибо

byte777

Доброго времени суток! Ничего не выводит может в функции возврат нужно указать?

alex0402

Цитата: byte777 от 26 авг 2018, 16:39Доброго времени суток! Ничего не выводит может в функции возврат нужно указать?

Цитата: alex0402 от 26 авг 2018, 14:52КонецЦикла;
       
   
КонецФункции

естественно

  КонецЦикла;
       
    Возврат Результат;
   
КонецФункции

Я пропустил :(
Спасибо за Сказать спасибо

byte777

Исправил но ничего не выводит, что не так не пойму?

alex0402

Цитата: byte777 от 27 авг 2018, 21:08Исправил но ничего не выводит, что не так не пойму?

если нет ни ошибок ни полезной информации, то скорее всего запрос не возвращает данные.
проверить можно так:

Цитата: byte777 от 25 авг 2018, 18:47РезультатЗапроса = Запрос.Выполнить();

Если РезультатЗапроса.Пустой() Тогда

    Сообщить("нет данных");

КонецЕсли
Спасибо за Сказать спасибо

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск