|
УФ. Создание объектов без записи с передачей на клиент... Опять: 20пять) | ☑ | ||
---|---|---|---|---|
0
bolobol
20.02.17
✎
18:30
|
Добрый день!
Подскажите, пожалуйста, очень не хватает функционала обычных форм с возможностью в ТЗ загонять созданные, но не записанные в базу, объекты, с последующим просмотром пользователем, и уже по его (пользовательскому) решению - либо записать, либо забыть. Но вот как такой механизм сделать на УФ - ума не приложу. Т.к. колонке ТЗ назначить тип, типа: СправочникОбъект.Номенклатура - никак, только ссылки. При назначении любого типа (Произвольный) - ругается при передаче объектов на клиент. Но на сервере объекты оставить негде, а на клиент не передать. Может, можно как-то "заархивировать" и отдавать на клиент архив, а по мановению пользователя - создавать нужный объект и архив заливать в него...? Только вот как это правильно сделать? Типа как ЗаписатьXML(ЗаписьXML, Объект); - только без записи, просто получить двоичное или mxl представление из которого потом развернуть объект, типа Данные = ПрочитатьXML(ЧтениеXML), так ещё бы и форму полученного на клиенте открыть или открыть форму и заполнить её данными из ПрочитатьXML(ЧтениеXML). ? |
|||
1
LienXo
20.02.17
✎
18:35
|
Стесняюсь спросить - а на обычных вы как делали?
|
|||
2
b_ru
20.02.17
✎
18:54
|
Дело в том, что УФ это не только набор каких-то там методов и свойств, это еще и парадигма. И в самой парадигме стейтлесс сервера такое не предусмотрено. Так что не нужно насиловать 1Ску, а придется придумать другой механизм. Например, показать пользователю все данные в табличной форме, а по его решению уже создавать и записывать объекты.
|
|||
3
bolobol
20.02.17
✎
19:13
|
(2) Да это и требуется, только на УФ. как раз там, где нельзя СправочникОбъект подержать до решения пользователя незаписанным.
(1) А в ОФ - можно не только Ссылку, но и Объект хранить в реквизитах |
|||
4
mikeA
20.02.17
✎
19:30
|
(3) Через жо..., т.е. через XML попробуй. Ну или если не заморачиваться, ЗначениеВСтроку/ИзСтрокиВнутр.
|
|||
5
bolobol
20.02.17
✎
19:43
|
(4) ЗначениеВСтроку даёт что-то типа: "{"#", 001222015252-02052-55-52212-0-0-5-55555}" - что совсем никак не напоминает содержание элемента справочника Номенклатура.
А вот через xml - это куда?, чтоб без записи в файл на диске? |
|||
6
mikeA
20.02.17
✎
20:24
|
(5) Это как раз и есть представление объекта справочника. ЗначениеИзСтроки сделает из него объект.
Можно то же самое деалть через XML. Чтобы без записи на диск нужно установить строку у записи XML. |
|||
7
bolobol
20.02.17
✎
20:30
|
(6) Да, про ХМЛ это точно:
ЗаписьXML = Новый ЗаписьXML(); ЗаписьXML.УстановитьСтроку(); ЗаписатьXML(ЗаписьXML, Объект); ДанныеОбъекта= ЗаписьXML.Закрыть(); А вот ЗначениеВСтрокуВнутр ничего путного не создаёт, может, для незаписанного в базу объекта не работает - не знаю, но из 36 цифр восстановить 50 реквизитов - точно не получится, к гадалке не ходи) |
|||
8
eks1985
20.02.17
✎
20:33
|
Ниче не понял. Храни в реквизитах формы данные необходимые для записи объекта, показывай их пользователю, по решению пользователя в итоге пиши объекты или не пиши. Какая нужда держать в таблице именно созданные, но не записанные объекты?
|
|||
9
eks1985
20.02.17
✎
20:35
|
>> Да это и требуется, только на УФ. как раз там, где нельзя СправочникОбъект подержать до решения пользователя незаписанным.
Так и не создавай ты этот объект. Подготовь все данные, храни их форме. Считай что это и есть твой созданный, но не записанный объект. |
|||
10
bolobol
20.02.17
✎
20:55
|
(8) Это заметно. Хранить в реквизитах обработки описание всей конфы?? Вы как себе это представляете, в двух словах?
(9) Так если я объект не создам, то где я подготовленные данные хранить буду? Чтобы считать, что они и есть мой созданный объект, мне нужно эти данные сохранить от момента получения данных до решения пользователя - так в этом и суть задачи "как сохранить". Классный ответ предлагаете: "храни их в форме")) |
|||
11
jsmith82
20.02.17
✎
21:03
|
Создаешь на сервере ТЗ с колонкой СправочникОбъект / ДокументОбъект. Помещаешь во врем. хранилище (ВХ). Адрес сохраняешь
Параллельно создаешь из этого ТЗ иное ТЗ для пользовательского представления - выгружаешь его в массив через ОбщегоНазначения.ТаблицаЗначенийВМассив Передаешь массив на клиент. Там ставятся флажки. Снова на сервер. Ловишь свою ТЗ из ВХ. Перебираешь массив структур по условию флажка, сопоставляешь по индексу с ТЗ, создаешь |
|||
12
bolobol
20.02.17
✎
21:18
|
(11) вот-вот, про временное хранилище тоже что-то краем уха слышал, что, якобы, позволяет сохранять данные между сеансами работы на сервере. Пример есть?
|
|||
13
eks1985
20.02.17
✎
21:25
|
(10) >> Это заметно. Хранить в реквизитах обработки описание всей конфы?? Вы как себе это представляете, в двух словах?
Заметно что у тебя каша в голове. Читать документацию. Наводка: реквизит формы Таблица. |
|||
14
jsmith82
20.02.17
✎
21:26
|
(12) гугли поместить во временное хранилище /
получить из временного хранилища я тебе метод дал и ещё - время существования ВХ зависит от уникального идентификатора - тоже помни |
|||
15
Сергиус
20.02.17
✎
21:33
|
(0)Что мешает хранить данные, не в объекте, а в структуре, имитирующей сам объект(т.е. теже поля, таблицы)?
|
|||
16
bolobol
20.02.17
✎
21:35
|
(14) точняк! Это оно! Спасибо! А вот про время существования от уид-а - этого я не припомню. Что за зависимость? Что-то пишут, что уид формы еадо давать, чтоб не уничтожилось раньше формы, булем пробовать.
(13) учитесь писать по делу, про интерфейсные детали тут никто не интересовался, но - спасибо за на водку) (15) сложно архиерически повторять то, что уже сделано до нас и работает из коробки |
|||
17
AlvlSpb
20.02.17
✎
21:37
|
(0) А вот это http://catalog.mista.ru/public/118784/ не решение вашей проблемы?
|
|||
18
mikeA
20.02.17
✎
21:37
|
(15) Лень структуру описывать.
(16) Ещё там будет шаманство с получением формы несуществующего объекта на клиенте и заполнением её на сервере. |
|||
19
bolobol
20.02.17
✎
21:45
|
Таки приблизились ко второй части: правильно (идеологически) открыть в привычной пользователю форме новый созданный когда-то на... А вот и ответ приехал в (17)
Всем спасибо! Завтра запущу в продакшен)) |
|||
20
Torquader
21.02.17
✎
00:51
|
Самое простое - объекты сначала создать, а потом - удалить, если не нужны.
Просто, например, справочник "Номенклатура" с единицами измерения в не записанном виде нормально существовать и отображаться не может. |
|||
21
France
21.02.17
✎
01:35
|
самое простое решение - в ХМЛ, потом в хранилище.. потом показать.
|
|||
22
Antony8x
21.02.17
✎
04:04
|
(0) А если данные формы в ТЗ добавлять. При выборе пользователем создавать объект и в его форму копировать данные из ТЗ?
|
|||
23
Web00001
21.02.17
✎
04:20
|
(0)Я немного не понял, вы решаете вот эту проблему http://catalog.mista.ru/public/118784/ ?
|
|||
24
Web00001
21.02.17
✎
04:21
|
+(23)кхм уже было в (17)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |