|   |   | 
| 
 | Не получается передать ТЗ с сервера на клиент, почему? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Elf56 08.09.17✎ 10:00 | 
        Всем доброго времени суток.
 Имеется платформа 1С:Предприятие 8.3 (8.3.10.2466) Пытаюсь с процедуры на сервер передать таблицу значений на клиент вот по такому коду &НаСервере Процедура ПодборДокументовНаСервере() УИД = Новый УникальныйИдентификатор(); АдресмТаблицаОплат = ПоместитьВоВременноеХранилище(мТаблицаОплат, УИД); КонецПроцедуры &НаКлиенте Процедура ПодборДокументовНаКлиенте() мТаблицаОплат = ПолучитьИзВременногоХранилища(АдресмТаблицаОплат); КонецПроцедуры Где АдресмТаблицаОплат реквизит формы типа Строка(255) Проблема в том, что на клиенте после всех действий переменная мТаблицаОплат становится типа НЕОПРЕДЕЛЕНО почему понять не могу? Всем заранее спасибо за ответы. | |||
| 1
    
        Elf56 08.09.17✎ 10:01 | 
        >> мТаблицаОплат  становится типа НЕОПРЕДЕЛЕНО
 Не типа НЕОПРЕДЕЛЕНО, а значения НЕОПРЕДЕЛЕНО | |||
| 2
    
        Heckfy 08.09.17✎ 10:07 | 
        ТЗ не живет на клиенте.     | |||
| 3
    
        Elf56 08.09.17✎ 10:10 | 
        И как быть ?     | |||
| 4
    
        Alexandr_U1982 08.09.17✎ 10:12 | 
        (3)Строчку ТЗ превратить в структуру и вместо таблицы значений передавать массив структур.     | |||
| 5
    
        Господин ПЖ 08.09.17✎ 10:13 | 
        в бсп готовая функция есть     | |||
| 6
    
        Heckfy 08.09.17✎ 10:15 | 
        Если структура ТЗ известна, как вариант, сделать реквизит формы с типом ТЗ с соответствующей структурой и заполнять уже его.     | |||
| 7
    
        Numerus Mikhail 08.09.17✎ 10:15 | 
        Или пересмотреть решение задачи.     | |||
| 8
    
        sergey198 08.09.17✎ 10:19 | 
        (5) Это какая?     | |||
| 9
    
        Господин ПЖ 08.09.17✎ 10:19 | 
        ОбщегоНазначения.ТаблицаЗначенийВМассив     | |||
| 10
    
        Elf56 08.09.17✎ 10:23 | 
        На сколько я знаю на клиенте ТЗ имеет тип ДанныеФормыКоллекция а вот как нибудь можно при получении из временного хранилища на клиенте сразу преобразовывать в ДанныеФормыКоллекция ?     | |||
| 11
    
        oslokot 08.09.17✎ 10:24 | 
        передавай тз через реквизит формы     | |||
| 12
    
        nicxxx 08.09.17✎ 10:39 | 
        ДанныеФормыВЗначение()
 ЗначениеВДанныеФормы() | |||
| 13
    
        Господин ПЖ 08.09.17✎ 10:42 | 
        вчера только похожее обсуждали кстати Жизненный цикл реквизитов обработки УФ     | |||
| 14
    
        Elf56 08.09.17✎ 10:42 | 
        (11) структура разная может быть
 (12) спасибо попробую | |||
| 15
    
        Heckfy 08.09.17✎ 10:43 | 
        (14) Да можешь не пробовать. :)     | |||
| 16
    
        Elf56 08.09.17✎ 10:46 | 
        И верно работает только на сервере )))     | |||
| 17
    
        Heckfy 08.09.17✎ 10:49 | 
        В твоем случае, по ходу один вариант:
 Раз структура ТЗ заранее не известна, то рисовать ТЗ на форме программно и уже её заполнять. Могу примером поделиться. Где то было у меня по моему. | |||
| 18
    
        dezss 08.09.17✎ 10:57 | 
        Так а чем не подходит (9) ОбщегоНазначения.ТаблицаЗначенийВМассив?     | |||
| 19
    
        lodger 08.09.17✎ 11:08 | 
        ну ладно. способы обсудили.
 а где обсуждение по теме "а нафейхоа вам ТЗ на клиенте"? это не в духе УФ. все обработки данных на сервере, однака, отображение клиенту табдоком или реквизитом формы. | |||
| 20
    
        Heckfy 08.09.17✎ 11:10 | 
        (19) "обработки данных на сервере" - иногда хочется, например, видеть ход выполнения обработки. Например в процентах. :)     | |||
| 21
    
        lodger 08.09.17✎ 11:15 | 
        (20) в БСП уже давно реализовано. но зачем в этом случае ТЗ на клиенте?     | |||
| 22
    
        Heckfy 08.09.17✎ 11:19 | 
        Я ХЗ, надо ТС-а спрашивать. :)     | |||
| 23
    
        ildary 08.09.17✎ 11:42 | 
        (21) подскажите пожалуйста, где в БСП искать такую функцию? В интернете полно обработок, которые работают без БСП, но которые тяжело вкручивать в типовую конфигурацию.     | |||
| 24
    
        VladZ 08.09.17✎ 11:47 | 
        (0) Создай табличную часть и работай с ней всяко-разно-безобразно (и на сервере, и на клиенте).     | |||
| 25
    
        Новиков 08.09.17✎ 11:55 | 
        (21) Это редкие задачи. В частности, чтобы мутить такое:
 (1) для краткости обозначу вызов &НаКлиентеНаСервереБезКонтекста->&НаСервереБезКонтекста -> ОМ "Сервер" Теперь возможно делать такие фичи: &НаКлиенте-> (1) &&НаСервере-> (1) На практике это когда используется? Напр., когда тебе нужно это одновременно и ПриСозданииНаСервере(), и откуда-то с клиента, при условии что на клиенте ты будешь логику обрабатывать как-то. | |||
| 26
    
        Новиков 08.09.17✎ 11:57 | 
        Но ТС вряд ли это надо, т.к. до такой минимизации программной логики нужно дорасти и понять, что это реально нужно. Ответы верные в (17), если известны колонки и их тип, то (24).     | |||
| 27
    
        lodger 08.09.17✎ 12:20 | 
        (23) да хотя бы вот ГрупповоеИзменениеРеквизитов.МодульФормы(1031):
 &НаКлиенте Процедура ОбработатьРезультатИзменения(РезультатИзменения = Неопределено, ПродолжитьОбработку = Неопределено) Перем КоличествоОшибок, КоличествоИзмененных; --------- какой-то код --------- ТекущееСостояниеИзменения.ТекущаяПозиция = ТекущееСостояниеИзменения.ТекущаяПозиция + ТекущееСостояниеИзменения.РазмерПорции; Если ТекущееСостояниеИзменения.ПоказыватьПроцентОбработанных Тогда // Вычисляем текущий процент обработанных объектов. ТекущийПроцент = Окр(ТекущееСостояниеИзменения.ТекущаяПозиция / ТекущееСостояниеИзменения.КоличествоОбъектовДляОбработки * 100); Состояние(НСтр("ru = 'Обрабатываются элементы...'"), ТекущийПроцент, НСтр("ru = 'Изменение выделенных элементов'")); КонецЕсли; ЕстьЭлементыДляОбработки = ?(ТекущееСостояниеИзменения.ТекущаяПозиция < ТекущееСостояниеИзменения.КоличествоОбъектовДляОбработки, Истина, Ложь); Если ЕстьЭлементыДляОбработки И НЕ ТекущееСостояниеИзменения.ПрерватьИзменение Тогда ПодключитьОбработчикОжидания("ИзменитьПорциюОбъектов", 0.1, Истина); Иначе ПодключитьОбработчикОжидания("ЗавершитьИзменениеОбъектов", 0.1, Истина); КонецЕсли; КонецПроцедуры немного топорно, но что есть то есть. 8.3.10 и дальнейшие предлагают решать эту проблему через сервисы Взаимодействия (для передачи состояния с сервера на клиент по ходу движения прогресса). | |||
| 28
    
        ildary 08.09.17✎ 13:23 | 
        (27) Спасибо, интересно последние БСП уже работают с сервисом Взаимодействия или нет.     | |||
| 29
    
        h-sp 08.09.17✎ 13:26 | 
        (28) еще можете посмотреть в типовых общие модули: ОбщегоНазначения..., СтроковыеФункции...  Там можно увидеть и перетащить к себе много интересных функций.     | |||
| 30
    
        ildary 08.09.17✎ 13:28 | 
        (29) Это да, сколько нам открытий чудных... Недавно я начал активно ковырять модуль ОбщегоНазначения и пришлось, краснея, заменять самописные велосипеды на типовые методы.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |