Имя: Пароль:
1C
 
УФ. Как передать выбранные строки с учетом отбора на клиент?
0 DTX 4th
 
23.05.17
15:00
Есть функция, которая получает строки с отбором:
Функция ПолучитьСтрокиСОтбором()
    Рез = Новый Массив;
    Для каждого Стр Из Договоры Цикл
        Если Элементы.Договоры.ПроверитьСтроку(Стр.ПолучитьИдентификатор()) Тогда
            Рез.Добавить(Стр);    
        КонецЕсли;         
    КонецЦикла;    
    
    Возврат Рез;
КонецФункции


Мне нужно обработать их на сервере. ПроверитьСтроку на сервере нет. ДанныеФормыЭлементКоллекции не сериализуется. Т.е. получается, что мне нужно в массив собрать идентификаторы строк, передать на сервер, а там по идентификаторам найти строки? Мне казалось, раньше таких танцев с бубном не было. ЧЯДНТ?
1 HEKPOH
 
23.05.17
15:01
написать свою ПроверитьСтроку() на сервере. Как вариант
2 Smallrat
 
23.05.17
15:03
>>Т.е. получается, что мне нужно в массив собрать идентификаторы строк, передать на сервер, а там по идентификаторам найти строки?

да
3 DTX 4th
 
23.05.17
15:07
Даже не знаю, как будет правильно..
Но вообще странно, что ПроверитьСтроку() нет на сервере - там же есть всё необходимое, ОтборСтрок таблицы доступен...

Ладно, всем спасибо, пошёл думать.
4 DTX 4th
 
23.05.17
15:16
Это всё очень печально.
&НаСервере
Функция ПроверитьСтрокуНаСервере(Таблица, Строка)
    Если Таблица.ОтборСтрок = Неопределено Тогда
        Возврат Истина;        
    КонецЕсли;
    
    Для каждого КлЗн Из Таблица.ОтборСтрок Цикл
        Если Строка[КлЗн.Ключ] <> КлЗн.Значение Тогда
            Возврат Ложь;            
        КонецЕсли;     
    КонецЦикла;     
    
    Возврат Истина;
КонецФункции
5 Вафель
 
23.05.17
15:39
всегда та было
6 НЕА123
 
23.05.17
16:03
ДанныеФормыЭлементКоллекции на сервере доступен, вроде...
7 DTX 4th
 
23.05.17
16:25
(6) Доступен, но не сериализуется.

(5) Видимо, я иногда сидел на толстом клиенте :)