| 
    
        
     
     | 
    
  | 
Прошу пояснить про передачу управляемой формы на сервер. | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        ptiz    
     16.01.23 
            ✎
    15:24 
 | 
         
        Когда мы из клиентской процедуры формы вызываем серверную процедуру этой же формы (&НаСервере, т.к. с контекстом), то форма преобразуется в ДанныеФормы и с этим можно работать на сервере.
 
        Почему тогда нельзя форму (с преобразованием в ДанныеФормы) передать на сервер другим образом? Например, в отдельной обработке делаю Форма=ПолучитьФорму("Документ....") и далее хочу передать её общий серверный модуль, превратив в те же ДанныеФормы. Но это невозможно. Приходится расширением добавлять процедуру в самой форме документа - и там гоняй её на сервер сколько пожелаешь. Или я что-то упустил?  | 
|||
| 
    1
    
        polosov    
     16.01.23 
            ✎
    15:55 
 | 
         
        (0) Форма существует и на клиенте и на сервере. Когда ты уходишь на сервер (&НаСервере), то идет переключение контекста выполнения с частичным переносом данных (максимально оптимальным).
 
        А вот если ты берешь данные формы и отдаешь на сервер, то ты будешь работать с данными уже не формы, а просто с данными отвязанными от формы. Короче не правильно это.  | 
|||
| 
    2
    
        mikecool    
     16.01.23 
            ✎
    16:05 
 | 
||||
| 
    3
    
        ptiz    
     16.01.23 
            ✎
    16:48 
 | 
         
        Собственно, почему вопрос возник: есть процедура серверного общего модуля, которая на входе принимает ДанныеФормы.
 
        Мне надо создать документ, и заполнить его, вызывав эту процедуру. Я точно не первый человек, который "радуется" типовым конфигурациям, когда всё делается через ... формы. Приходится городить костыль - делать экспортную процедуру формы через расширение, т.к. там контекст формы свободно отправляется на сервер. Или есть другие способы?  | 
|||
| 
    4
    
        mikecool    
     16.01.23 
            ✎
    16:51 
 | 
         
        (3) типовым конфигурациям, когда всё делается через ... формы. - источник скорее всего &НаКлиентеНаСервереБезКонтекста     
         | 
|||
| 
    5
    
        FirstLine Support    
     16.01.23 
            ✎
    17:04 
 | 
         
        (3) Если делать в парадигме вендора, то всё идет гладко и естественным образом. Если делать поперёк парадигмы, то постоянно путаешься в костылях, расширениях и прочем мусоре под ногами, который норовит тебя ударить по лбу граблями.
 
        Откуда взялась занятная идея, что процедура в общем модуля получает данные формы, а не объект?  | 
|||
| 
    6
    
        H A D G E H O G s    
     16.01.23 
            ✎
    17:09 
 | 
         
        (3) Передай туда Структуру     
         | 
|||
| 
    7
    
        mikecool    
     16.01.23 
            ✎
    17:20 
 | 
         
        (5) см(4)     
         | 
|||
| 
    8
    
        Chai Nic    
     16.01.23 
            ✎
    17:24 
 | 
         
        (5) Такое сплошь и рядом в типовых. Какой-нибудь пересчет в строке документа вызывается или прямо в модуле формы, или через общие модули, с передачей контекста формы. В результате, при программном создании документа приходится весь этот код повторять, потому что форму не создашь вне клиента. Недоработка.     
         | 
|||
| 
    9
    
        ptiz    
     16.01.23 
            ✎
    17:52 
 | 
         
        (6) Придется повторить всю структуру формы. Но возможно сработает. А есть готовые процедуры создания структуры из ДанныхФормы и переноса обратно?     
         | 
|||
| 
    10
    
        mistеr    
     16.01.23 
            ✎
    17:57 
 | 
         
        (8) Но внутри обычно вызывается серверный метод без всякой формы. Его и нужно использовать при программном создании.     
         | 
|||
| 
    11
    
        Kassern    
     16.01.23 
            ✎
    18:00 
 | 
         
        (9) Иногда достаточно передать объект вместо формы, пробовали?     
         | 
|||
| 
    12
    
        magicSan    
     16.01.23 
            ✎
    18:05 
 | 
         
        (0) задачу скажи уже полностью     
         | 
|||
| 
    13
    
        ptiz    
     16.01.23 
            ✎
    18:26 
 | 
         
        (11) Там есть вызов метода .Свойство() - на нём споткнулось.     
         | 
|||
| 
    14
    
        ptiz    
     16.01.23 
            ✎
    18:27 
 | 
         
        (12) Создать и заполнить документы "Справка 2-НДФЛ для сотрудника" по списку сотрудников. Задачу-то сделал, но хотел прояснить про передачу формы.     
         | 
|||
| 
    15
    
        ДедМорроз    
     16.01.23 
            ✎
    19:25 
 | 
         
        Это горе-оптимизаторы делают расчет на клиенте,а в результате - с сервера его не вызвать.     
         | 
|||
| 
    16
    
        magicSan    
     16.01.23 
            ✎
    19:40 
 | 
         
        (14) дак там тд формируется на сервере - не с той стороны копаешь     
         | 
|||
| 
    17
    
        rozer76    
     16.01.23 
            ✎
    19:43 
 | 
         
        (14) эмм, а вот еще интереснее непосредственно из фонзадания такое "имитировать" - там никакая экспортная процедура формы не спасет. Да, это древняя боль... 1с делает как ей удобно.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |