| 
    
            
         
         | 
    
    
  | 
получение данных в кнопке | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        dron4ikkk    
     11.09.14 
            ✎
    10:05 
 | 
         
        на форму поместил кнопку, в коде кнопки надо вызвать процедуру
 
        , но у процедуры параметры отказ, текущийобъект, параметрызаписи пустые и неопределены Вопрос : каким образом из кнопки из клиента вызвать такую процедуру? &НаКлиенте Процедура Применить(Команда) ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи); КонецПроцедуры  | 
|||
| 
    1
    
        Timon1405    
     11.09.14 
            ✎
    10:09 
 | 
         
        1) выкинуть кнопку
 
        2) добавить команду 3) перетащить команду на форму 4) ПКМ по кнопке команды - создать клиентскую и серверную процедуры 5) profit!  | 
|||
| 
    2
    
        dron4ikkk    
     11.09.14 
            ✎
    10:10 
 | 
         
        (1) что значит выкинуть кнопку?     
         | 
|||
| 
    3
    
        _fvadim    
     11.09.14 
            ✎
    10:10 
 | 
         
        вынести содержимое ПередЗаписьюНаСервере в функцию МояПередЗаписью.
 
        по кнопке и из ПередЗаписьюНаСервере вызывать МояПередЗаписью  | 
|||
| 
    4
    
        dron4ikkk    
     11.09.14 
            ✎
    10:13 
 | 
         
        (3) допустим вынес содержимое в МояПередЗаписью, дальше в кнопке просто вызвать эту функцию чтоли?     
         | 
|||
| 
    5
    
        _fvadim    
     11.09.14 
            ✎
    10:15 
 | 
         
        (4) да, также как ты делал это в (0)     
         | 
|||
| 
    6
    
        dron4ikkk    
     11.09.14 
            ✎
    10:16 
 | 
         
        (5) но функция с параматерами же, а так как в кнопке эти параметры пусты, то ничего не получиться же.     
         | 
|||
| 
    7
    
        _fvadim    
     11.09.14 
            ✎
    10:17 
 | 
         
        (6) ты там записываешь что-то по отдельной кнопке?     
         | 
|||
| 
    8
    
        dron4ikkk    
     11.09.14 
            ✎
    10:17 
 | 
         
        (7) да.     
         | 
|||
| 
    9
    
        dron4ikkk    
     11.09.14 
            ✎
    10:18 
 | 
         
        просто в этой процедуре код, что эти параметры, не доступны на клиенте.     
         | 
|||
| 
    10
    
        _fvadim    
     11.09.14 
            ✎
    10:18 
 | 
         
        (8) а чем стандартная "записать" не устраивает?     
         | 
|||
| 
    11
    
        Любопытная    
     11.09.14 
            ✎
    10:19 
 | 
         
        (6) а почему они пусты?     
         | 
|||
| 
    12
    
        ДенисЧ    
     11.09.14 
            ✎
    10:21 
 | 
         
        Явно вызывать обработчик события - за это полагается 10 лет строгого режима. Без права переписки.     
         | 
|||
| 
    13
    
        АбсолютноТемное Тело    
     11.09.14 
            ✎
    10:21 
 | 
         
        (4) Просто сделай Записать  и ПередЗаписьюНаСервере сама "вызовется"  )     
         | 
|||
| 
    14
    
        kosts    
     11.09.14 
            ✎
    10:25 
 | 
         
        (0)
 
        Может что-то в этом роде 
     | 
|||
| 
    15
    
        dron4ikkk    
     11.09.14 
            ✎
    10:26 
 | 
         
        (13) щас попробую     
         | 
|||
| 
    16
    
        dron4ikkk    
     11.09.14 
            ✎
    10:33 
 | 
         
        вы гении! всем спасибо)     
         | 
|||
| 
    17
    
        dron4ikkk    
     11.09.14 
            ✎
    10:39 
 | 
         
        еще проблемка.. при нажатии кнопки "применить" происходит вызов события записать() мы попадаем в процедуру ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) и есть другая кнопка "Записать закрыть" стандартная и она тоже вызывает процедуру ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) . Проблема в том что надо сделать так:
 
        в коде процедуры надо сделать условие: если идкнопки "применить" то выполнить участок кода такой, если идкнопки "записатьзакрыть". как получить уникальный идентификатор кнопок?  | 
|||
| 
    18
    
        АбсолютноТемное Тело    
     11.09.14 
            ✎
    10:43 
 | 
         
        Можно попробовать передать имя кнопки через ПараметрыЗаписи  из метода Записать(ПараметрыЗаписи) в  ПередЗаписьюНаСервере(...,...,ПараметрыЗаписи)     
         | 
|||
| 
    19
    
        dron4ikkk    
     11.09.14 
            ✎
    10:54 
 | 
         
        (18) Спасибо, щас попробую.     
         | 
|||
| 
    20
    
        dron4ikkk    
     11.09.14 
            ✎
    10:55 
 | 
         
        (18) стоп а что за параметрызаписи?     
         | 
|||
| 
    21
    
        АбсолютноТемное Тело    
     11.09.14 
            ✎
    10:56 
 | 
         
        &НаКлиенте
 
        Процедура Применить(Команда) ПараметрыЗаписи=Новый Структура; ПараметрыЗаписи.Вставить("ИмяКнопки",Команда.Имя); Записать(ПараметрыЗаписи); КонецПроцедуры Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Если ПараметрыЗаписи.Имя="МояКнопка" Тогда ... Иначе КонецЕсли; КонецПроцедуры  | 
|||
| 
    22
    
        dron4ikkk    
     11.09.14 
            ✎
    10:56 
 | 
         
        (21) ааа вот как...спасибо!     
         | 
|||
| 
    23
    
        dron4ikkk    
     11.09.14 
            ✎
    11:10 
 | 
         
        (21) а зачем вообще в процедурах таких как ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) нужен параметызаписи, если он ничего не содержит....     
         | 
|||
| 
    24
    
        dron4ikkk    
     11.09.14 
            ✎
    11:11 
 | 
         
        и если я щас его заменю своим параметром записи, ничего не нарушится ли?     
         | 
|||
| 
    25
    
        dron4ikkk    
     11.09.14 
            ✎
    11:13 
 | 
         
        (24) или как раз таки параметрзаписи и нужен например для таких ухищрений как у меня?     
         | 
|||
| 
    26
    
        АбсолютноТемное Тело    
     11.09.14 
            ✎
    11:21 
 | 
         
        Там  передается РежимЗаписи как минимум, а дополнительно ты можешь ДОБАВЛЯТЬ в структуру все что хочешь.  И эти параметры  как раз и нужны для  обмена данными между подобными процедурами. Можно делать и по другому, но  рекомендуется этот способ.     
         | 
|||
| 
    27
    
        dron4ikkk    
     11.09.14 
            ✎
    11:26 
 | 
         
        (26)  ситуация стала такая...:
 
        если ПараметрыЗаписи.Применить="Применить" тогда сообщить("1"); иначе сообщить("2"); конецесли; если в случае нажатия кнопки стандартной "записать закрыть", то пишет ошибку, что не содержится в параметрызаписи применить. т.е. условие не подходит(  | 
|||
| 
    28
    
        dron4ikkk    
     11.09.14 
            ✎
    11:26 
 | 
         
        Поле объекта не обнаружено (Применить)     
         | 
|||
| 
    29
    
        АбсолютноТемное Тело    
     11.09.14 
            ✎
    11:37 
 | 
         
        Если ПараметрыЗаписи.Свойство("Применить") тогда
 
        Если ПараметрыЗаписи.Применить="Применить" тогда сообщить("1"); КонецЕсли; Иначе сообщить("2"); КонецЕсли;  | 
|||
| 
    30
    
        dron4ikkk    
     11.09.14 
            ✎
    11:42 
 | 
         
        (29) Если ПараметрыЗаписи.Количество() = 1 Тогда 
 
        так сделал))))))))))  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |