Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 06:03
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Передача результатов запроса между клиентом и сервером  (Прочитано 27488 раз)

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

Оффлайн gigi1988

  • *
  • Сообщений: 29
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-11-04
  • Сайт: 
Мне нужно динамически заполнять форму. На сервере выполняю запрос, а как результаты выборки передать обратно клиенту не знаю.
Выборку он возвращать не хочет.

&НаКлиенте
Процедура ГрОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Выборка=Получить(ВыбранноеЗначение);
Пока Выборка.Следующий() Цикл
   КонецЦикла;
КонецПроцедуры

&НаСервереБезКонтекста
Функция Получить(ВыбранноеЗначение)
 Запрос=Новый Запрос;
   Запрос.Текст="ВЫБРАТЬ
|   Группы.Название,
|   ГруппыСтуденты.студент.Фамилия,
|    ГруппыСтуденты.студент.Код
| ИЗ
|   Справочник.Группы КАК Группы
|      ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Группы.список КАК ГруппыСтуденты
|      ПО Группы.Ссылка = ГруппыСтуденты.Ссылка
| ГДЕ
|   Группы.Ссылка В (&Ссылка)";

            Ссылка=Справочники.Группы.НайтиПоКоду(ВыбранноеЗначение);
            Запрос.Параметры.Вставить("Ссылка", Ссылка);
            Выборка = Запрос.Выполнить().Выбрать();
   
   Возврат Выборка;   
КонецФункции


Оффлайн Vit1501

  • ****
  • Сообщений: 360
  • РЕПУТАЦИЯ: 60
  • КПД: 17%
  • Регистрация: 2010-06-05
  • Сайт: 
  • Профессия: Программист 1С
Попробуй выборку преобразовать в массив или структуру

Оффлайн gigi1988

  • *
  • Сообщений: 29
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-11-04
  • Сайт: 
Попробуй выборку преобразовать в массив или структуру
А как передать массив?
Выдает:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:

Оффлайн Vit1501

  • ****
  • Сообщений: 360
  • РЕПУТАЦИЯ: 60
  • КПД: 17%
  • Регистрация: 2010-06-05
  • Сайт: 
  • Профессия: Программист 1С
 массив можно передавать между клиентом и сервером, но там помоему были какие- то ограничения. Попробой тогда в структуру. однозначно могу скачать, что между сервером и клиентом нельзя передавать ссылочные типы-обрати на это внимание.

Оффлайн markantonio

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 4
  • КПД: 22%
  • Регистрация: 2010-12-07
  • Сайт: 
  • Профессия: Программист 1С
Выборка = Запрос.Выполнить().Выбрать()

тип значения сего - "ВыборкаИзРезультатаЗапроса"

Доступность:
Сервер, толстый клиент, внешнее соединение.

так что, мил человек, никак его не передашь без преобразования.
Да и не к чему это, я думаю.

Пробуй заполнять прямо на серваке. Можно использовать "ПоместитьВоВременноеХранилище " и "ПолучитьИзВременногоХранилища"

Второй путь (если это форма списка какого нить) - выбираем тип объекта "Произвольный запрос" и пихаем туда нужный запрос.

Буду рад если смог помочь..  B)

Оффлайн gigi1988

  • *
  • Сообщений: 29
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-11-04
  • Сайт: 
Выборка = Запрос.Выполнить().Выбрать()

тип значения сего - "ВыборкаИзРезультатаЗапроса"

Доступность:
Сервер, толстый клиент, внешнее соединение.

так что, мил человек, никак его не передашь без преобразования.
Да и не к чему это, я думаю.

Пробуй заполнять прямо на серваке. Можно использовать "ПоместитьВоВременноеХранилище " и "ПолучитьИзВременногоХранилища"

Второй путь (если это форма списка какого нить) - выбираем тип объекта "Произвольный запрос" и пихаем туда нужный запрос.

Буду рад если смог помочь..  B)

Суть в следующем. Есть Документ ведомость. Нужно чтобы при выборе группы отражался список студентов этой группы и соответственно туда же ставились оценки, дата и т.д. и чтобы все это дело сохранялось после проводки документа в соответствующие справочники. Но все эти поля из разных справочников. 1С я только осваиваю, а курсовая горит сейчас :). Нужно сделать минимальный функционал.

Оффлайн markantonio

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 4
  • КПД: 22%
  • Регистрация: 2010-12-07
  • Сайт: 
  • Профессия: Программист 1С
надо же.... уже курсовые по 8.2 народ пишет....

ну за тебя конечно не напишу, но если есть желание разобраться - разберешься.

Привожу кусок кода из мой конфы. Задача похожая.

&НаКлиенте
Процедура Подбор(Команда)
АдресМатериаловДокумента = ПоместитьТаблицуВХранилище("ТаблицаСырья");

СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("АдресМатериаловДокумента", АдресМатериаловДокумента);
СтруктураПараметров.Вставить("ДатаЗапроса", Объект.Дата);

АдресЗапасовВХранилище = ОткрытьФормуМодально("Документ.ПереработкаСырья.Форма.ФормаПодбораБревен", СтруктураПараметров, ЭтаФорма);

Если ЗначениеЗаполнено(АдресЗапасовВХранилище) Тогда
ПолучитьТаблицуИзХранилища(АдресЗапасовВХранилище);
КонецЕсли;
КонецПроцедуры


Здесь создана доп форма у документа Документ.ПереработкаСырья.Форма.ФормаПодбораБревен
в ней далее будут производиться какие то действия по выбору и переносу данных в док.

Код самой большой. привожу тока ее инициализацию, дабы ты увидел сам механизм передачи параметров из одной формы в другую:
// ФормаПодбораБревен
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если Параметры.Свойство("ДатаДок") Тогда
        ДатаДок = Параметры.ДатаДок;
    КонецЕсли;
   
    Если Параметры.Свойство("АдресМатериаловДокумента") Тогда
        ТаблицаЗапасов = ПолучитьИзВременногоХранилища(Параметры.АдресМатериаловДокумента);
        Для каждого СтрокаТЧ Из ТаблицаЗапасов Цикл
            НоваяСтрока = ТаблицаСырья.Добавить();
            НоваяСтрока.Партия = СтрокаТЧ.Партия;
            НоваяСтрока.НомерБревна = СтрокаТЧ.НомерБревна;
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры


после определенных действий в этой форме (в твоем случае, проставки всякой информации) передаем обратно в основную форму дока:

// ФормаПодбораБревен
&НаКлиенте
Процедура ДобавитьВДокумент(Команда)
    Закрыть(ПоместитьТаблицуВХранилище());
КонецПроцедуры

Оффлайн markantonio

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 4
  • КПД: 22%
  • Регистрация: 2010-12-07
  • Сайт: 
  • Профессия: Программист 1С
смею еще заметить, что сохранение динамических данных в справочнике - не самый лучший вариант. рекомендую попробовать регистр сведений.
В твоем случае возможно подойдет простейшая структура типа:

измерения:
сотрудник

ресурсы:
параметр1
параметр2
параметр3
.............

с периодом "По позиции регистратора"

Оффлайн gigi1988

  • *
  • Сообщений: 29
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-11-04
  • Сайт: 
смею еще заметить, что сохранение динамических данных в справочнике - не самый лучший вариант. рекомендую попробовать регистр сведений.
В твоем случае возможно подойдет простейшая структура типа:

измерения:
сотрудник

ресурсы:
параметр1
параметр2
параметр3
.............

с периодом "По позиции регистратора"

В общем данные на сервере есть. А как теперь их добавить в таблицу формы?

Оффлайн gigi1988

  • *
  • Сообщений: 29
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-11-04
  • Сайт: 
тьфу не на сервере, а на клиенте


Теги:
 

Из запроса не выводятся значения полей - выводятся пустые значения

Автор Alex1111Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 24
Просмотров: 12190
Последний ответ 14 Июн 2012, 17:44
от Alex1111
"ПОДОБНО" в условие связи запроса

Автор Станиславъ ЗверевъРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 8
Просмотров: 3232
Последний ответ 11 Май 2016, 15:29
от LexaK
"Таблица значений" в результате запроса - 1С

Автор mvk843Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 8
Просмотров: 723
Последний ответ 15 Июн 2017, 07:53
от mvk843
Возможно ли языком запросов без конкатенации текста запроса и без СКД преобразовать строки таблицы в столбцы (колонки) выходной таблицы?

Автор acces969Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 439
Последний ответ 29 Май 2017, 15:29
от alex0402
Ошибка при выполнении запроса - "неоднозначное поле"

Автор Marta_LiРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 11914
Последний ответ 21 Апр 2011, 16:00
от Marta_Li

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
167 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
28 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 269
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal