Имя: Пароль:
1C
1С v8
Поместить результат Выборки в реквизит
0 azhirov1991
 
31.01.17
16:59
Есть такая команда

СправочникиВыборка = Справочники[Ссылка.Метаданные().Имя].Выбрать();

Отрабатываю на сервере. Нужен доступ к этим данным в клиенте. Есть возможность поместить СправочникиВыборка в реквизит, чтобы на клиенте я мог к нему обратиться? Или создать реквизит на сервере и поместить туда весь результат.
1 Любопытная
 
31.01.17
17:03
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).

Меняйте схему работы.
2 rabbidX
 
31.01.17
17:06
(0) Какую задачу решаешь? Предполагаю что не надо ничего никуда передавать.
3 FIXXXL
 
31.01.17
17:09
(0) чего с выборкой делаешь дальше?
4 azhirov1991
 
01.02.17
07:58
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ПолученныйОбъект = ВладелецФормы.Объект;
    Элементы.Группа1.Заголовок = ?(ЗначениеЗаполнено(ПолученныйОбъект.Ссылка), "Значение, добавляемое в справочник", "Значение, изменяемое в справочнике");
    Кнопка = Элементы.ДобавитьВСправочник;
    Текст = ?(ЗначениеЗаполнено(ПолученныйОбъект.Ссылка), "Добавить в справочник", "Внести в справочник");
    Кнопка.Заголовок = Текст;
    ДобавляемоеЗначение = ПолученныйОбъект.Наименование;
    ДобавляемоеЗначениеТекст = ДобавляемоеЗначение;
    
    СписокСловИзДобавляемогоЗначения = Новый СписокЗначений;
    Индекс = 1;
    ДобавляемоеЗначение = СокрЛП(ДобавляемоеЗначение);
    Стр = Врег(ДобавляемоеЗначение);
    Пока Индекс <= СтрДлина(Стр) Цикл
      Если ВспомФункцииУФКлиент.ЭтоБукваИлиЦифра(Сред(Стр, Индекс, 1)) Тогда
          Слово = Сред(Стр, Индекс, 1);
          Индекс = Индекс + 1;
          Пока ВспомФункцииУФКлиент.ЭтоБукваИлиЦифра(Сред(Стр, Индекс, 1)) Цикл
             Слово = Слово + Сред(Стр, Индекс, 1);
             Индекс = Индекс + 1;
          КонецЦикла;
          СписокСловИзДобавляемогоЗначения.Добавить(Слово);
      КонецЕсли;
      Индекс = Индекс + 1;  
    КонецЦикла;    
    
    ПолучитьВыборку(ПолученныйОбъект.Ссылка);
КонецПроцедуры

&НаСервере
Процедура ПолучитьВыборку(Ссылка)
    //ЗначениеВРеквизитФормы(Справочники[Ссылка.Метаданные().Имя].Выбрать(), Выборка);
    СправочникиВыборка = Справочники[Ссылка.Метаданные().Имя].Выбрать();
    Реквизит = Новый РеквизитФормы("Выборка", Новый ОписаниеТипов(ТипЗнч(СправочникиВыборка)), СправочникиВыборка);
  //ЕстьДубликат = Ложь;
  //Пока Выборка.Следующий() Цикл
  //    Если СправочникОбъект.Ссылка.Пустая() Или СправочникОбъект.Ссылка <> Выборка.Ссылка Тогда
  //        Стр2 = Врег(СокрЛП(Выборка.Наименование));
  //        Если Стр = Стр2 и СправочникОбъект.Код <> Выборка.Код Тогда
  //            ЕстьДубликат = Истина;
  //            Прервать;
  //        Иначе      
  //            ПроцентСовпадания = ВспомФункцииУФСервер.НечеткоеСравнениеСтрок(Стр2, Стр);
  //            НайденнаяСтрока = ТаблицаПохожихЗначений.Найти(Строка(Выборка.Код), "Код");
  //            Если ПроцентСовпадания > 60 или НайденнаяСтрока <> Неопределено Тогда
  //                Если НайденнаяСтрока <> Неопределено Тогда
  //                    НайденнаяСтрока.ПроцентСовпадания = ПроцентСовпадания;
  //                Иначе
  //                    НоваяСтрока = ТаблицаПохожихЗначений.Добавить();
  //                    НоваяСтрока.Код = Выборка.Код;
  //                    НоваяСтрока.ПроцентСовпадания = ПроцентСовпадания;              
  //                    НоваяСтрока.ИспользовалосьРаз = ПолучитьКоличествоСсылок(Выборка.ссылка);
  //                    НоваяСтрока.Ссылка = Выборка.ссылка;
  //                    ВключаетСлов = 0;
  //                    Для Каждого Слово Из СписокСловИзДобавляемогоЗначения Цикл
  //                        Если Найти(Стр2, Слово) > 0 Тогда
  //                            ВключаетСлов = ВключаетСлов + 1;
  //                        КонецЕсли;      
  //                    КонецЦикла;      
  //                    НоваяСтрока.ВключаетСлов = ВключаетСлов;
  //                КонецЕсли;
  //               КонецЕсли;    
  //          КонецЕсли;      
  //      КонецЕсли;    
  //КонецЦикла;
  //Если ЕстьДубликат Тогда
  //    Сообщить("В справочнике уже имеется элемент с этим наименованием """ + ДобавляемоеЗначение + """ (код = " + Выборка.Код + ")");
  //    Отказ = Истина;
  //Иначе
  //    ТаблицаПохожихЗначений.Сортировать("ПроцентСовпадания Убыв, ВключаетСлов Убыв, Ссылка Возр");
  //КонецЕсли;
КонецПроцедуры
5 azhirov1991
 
01.02.17
07:59
В общем - вот код. Переношу всё с неуправляемых форм на управляемые.
6 FIXXXL
 
01.02.17
08:52
(5) ну и? нахрена тебе выборка в реквизите? нашел дубль, сунул в таблицу, выборку хранить зачем?
да и переделай по феншую на запрос уже
Основная теорема систематики: Новые системы плодят новые проблемы.