|
записать данные в объект. | ☑ | ||
---|---|---|---|---|
0
userqwerty
04.11.19
✎
16:08
|
Всем привет. Подскажите как записать данные в объект, Я в 1с относительно недавно, новенькая так сказать.
&НаКлиенте Процедура ДалееНачало(Команда) Если Объект.СвойстваДвери.Количество() = 0 Тогда КонструктивПриИзмененииНаСервере(); Если Объект.СвойстваДвери.Количество() = 0 Тогда Возврат; КонецЕсли; КонецЕсли; Элементы.Начало.Видимость = Ложь; ПолучитьБазу(); ПолучитьНазваниеПоМатериалам(); ДалееНачалоНаСервере(); Объект.Записать(); КонецПроцедуры &НаСервере Процедура ДалееНачалоНаСервере() ДокОбъект = РеквизитФормыВЗначение("Объект"); ДокОбъект.ШиринаПолотна = ДокОбъект.База.Ширина; ДокОбъект.ВысотаПолотна = ДокОбъект.База.Высота; нужно записать ДокОбъект.ШиринаПолотна и ДокОбъект.ВысотаПолотна в режиме отладки там значения есть, а в пользовательском там пусто. КонецПроцедуры |
|||
1
hhhh
04.11.19
✎
16:16
|
&НаСервере
Процедура ДалееНачалоНаСервере() Объект.ШиринаПолотна = Объект.База.Ширина; Объект.ВысотаПолотна = Объект.База.Высота; КонецПроцедуры |
|||
2
userqwerty
04.11.19
✎
16:26
|
(1) значения в отладке есть, а в пользовательском нет, мне кажется гдето надо обновить форму, или я не права:?
|
|||
3
rozer76
04.11.19
✎
16:28
|
(2) ну так обратно значениевреквизит формы надо еще
|
|||
4
userqwerty
04.11.19
✎
16:29
|
(3) это как?
|
|||
5
rozer76
04.11.19
✎
16:32
|
ЗначениеВРеквизитФормы(ДокОбъект, "Объект");
|
|||
6
Фрэнки
04.11.19
✎
16:33
|
(4) Когда пишется
ДокОбъект = РеквизитФормыВЗначение("Объект"); Это получается отдельный экземпляр, который возникает из данных, находившихся в реквизите "Объект" Дальше с этими полученными данными происходят всякие манипуляции, а вот обратно (в клиентскую форму) ничего не передается. |
|||
7
userqwerty
04.11.19
✎
16:36
|
(6) поняла, спасибо. и как в клиентскую форму потом получить с сервера?
|
|||
8
rozer76
04.11.19
✎
16:36
|
(4) да и не надо тебе так - см(1), как ты делаешь это когда надо метод объекта вызвать и надо сам объект получить
|
|||
9
userqwerty
04.11.19
✎
16:37
|
я же на клиенте вызвала процедуру , которая мне все считает на сервере.
|
|||
10
userqwerty
04.11.19
✎
16:39
|
(8) скажите пример, как должно быть, а то я уже как блондинка три часа перед компом сижу))
|
|||
11
hhhh
04.11.19
✎
16:40
|
(9) там всё автоматически, всё должно высветиться и так. Объект виден и на клиенте и на сервере. В этом вся и фишка.
|
|||
12
hhhh
04.11.19
✎
16:40
|
(10) как в (1)
и еще Объект.Записать(); выкинь. |
|||
13
userqwerty
04.11.19
✎
16:42
|
(12) обновить отображение данных на клиенте надо?
|
|||
14
hhhh
04.11.19
✎
16:43
|
(13) не надо.
|
|||
15
Фрэнки
04.11.19
✎
16:45
|
(7) перед завершением процедуры на сервере сделать вызов из (5)
т.е. этот вызов работает парно
з.ы. Лично я часто использую версию как в (1), т.к. нормальных развернутых причин, которые запрещают так делать, нигде не нашел. |
|||
16
RomanYS
04.11.19
✎
17:00
|
(15) Таких причин нет и быть не может. Причины нужны как раз для конвертации данных формы в объект и обратно и они указаны (8).
|
|||
17
rozer76
04.11.19
✎
17:02
|
(10) "скажите, напишите за меня" так не правильно- нужно отличать когда тебе нужны данные ФОРМЫ на сервере а когда нужен ОБЪЕКТ. В данном случае тебе не нужен объект т.к. не нужны экспортные методы и вся обработка в форме
|
|||
18
rozer76
04.11.19
✎
17:06
|
Проще тебе заполнить что РеквизитФормыВЗначение это как ПолучитьОбъект() но заполнить его не данныии из базы а данными формы.
|
|||
19
userqwerty
04.11.19
✎
17:34
|
Опять то же самое
&НаКлиенте Процедура ДалееНачало(Команда) Если Объект.СвойстваДвери.Количество() = 0 Тогда КонструктивПриИзмененииНаСервере(); Если Объект.СвойстваДвери.Количество() = 0 Тогда Возврат; КонецЕсли; КонецЕсли; Элементы.Начало.Видимость = Ложь; ПолучитьБазу(); ПолучитьНазваниеПоМатериалам(); ДалееНачалоНаСервере(); КонецПроцедуры &НаСервере Процедура ДалееНачалоНаСервере() ДокОбъект = РеквизитФормыВЗначение("Объект"); ДокОбъект.ШиринаПолотна = ДокОбъект.База.Ширина; ДокОбъект.ВысотаПолотна = ДокОбъект.База.Высота; ЗначениеВРеквизитФормы(ДокОбъект, "Объект"); КонецПроцедуры вот код, ДокОбъект.ШиринаПолотна и ДокОбъект.ВысотаПолотна данные при отладке есть, а в пользовательском режиме нет. |
|||
20
userqwerty
04.11.19
✎
17:34
|
(18)
ДокОбъект.ШиринаПолотна = ЭтаФорма.Ширина? |
|||
21
Сияющий в темноте
04.11.19
✎
17:37
|
обновить отображение данных?
|
|||
22
userqwerty
04.11.19
✎
17:57
|
(21) как?
|
|||
23
userqwerty
04.11.19
✎
17:58
|
ЭтаФорма.ОбновитьОтображениеДанных();? на клиенте не работает.
|
|||
24
userqwerty
04.11.19
✎
18:08
|
ДЖЕНТЛЬМЕНЫ??? ПОМОГИТЕ ПОЖАЛУЙСТА.
|
|||
25
RomanYS
04.11.19
✎
18:18
|
(24) сделай как в (1) и проверь, что элементы формы привязаны к данным
|
|||
26
userqwerty
04.11.19
✎
18:22
|
(25) проверила, привязаны, а дальше что делать то?(((
|
|||
27
RomanYS
04.11.19
✎
18:40
|
(26) конфигурация учебная? Выложи на файлопомойку
|
|||
28
catena
05.11.19
✎
05:49
|
(26)А (1) игнорируется намеренно или есть какие-то религиозные причины?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |