| 
    
            
         
         | 
    
    
  | 
записать данные в объект. | ☑ | ||
|---|---|---|---|---|
| 
    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) игнорируется намеренно или есть какие-то религиозные причины?     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |