|   |   | 
| 
 | Как на форме передать параметр из одной процедуры в другу ↓ (Волшебник 01.03.2025 10:49) | ☑ | ||
|---|---|---|---|---|
| 0
    
        Ужасный человек naïve 28.02.25✎ 18:46 | 
        Добрый вечер.
 Как на форме передать параметр из одной процедуры в другу. К примеру в процедуре ПриСозданиинаСервере объявить переменную а = 15. И что бы в процедуре ПередЗаписью я мог обратиться к этой переменной. Есть ли иные способы кроме добавления реквизита формы? | |||
| 1
    
        Маленький Вопросик 28.02.25✎ 18:53 | 
        Через реквизит формы или объекта     | |||
| 2
    
        Ужасный человек naïve 28.02.25✎ 18:55 | 
        нет реквизит формы и объекта не подходют     | |||
| 3
    
        lubitelxml 28.02.25✎ 19:02 | 
        В самом начале модуля формы напиши:
 &НаКлиенте Перем ИмяТвоегоПараметра; Пока форма не закроется - доступна везде будет на клиенте | |||
| 4
    
        lubitelxml 28.02.25✎ 19:04 | 
        +(3) но там при переходе с клиента на сервер на сколько помню могу очищаться переменные, в общем пробуй, но по-хорошему - создай программно реквизит формы, и пиши в него, ничего криминального в этом нет     | |||
| 5
    
        Волшебник 28.02.25✎ 19:06 | 
        (2) подходят     | |||
| 6
    
        Ужасный человек naïve 28.02.25✎ 19:07 | 
        (3) Если в процедуре &НаСервере написать то ошибка при компиляции
 Объявления переменных должны быть расположены в начале модуля, процедуры или функции <<?>>Перем ИмяТвоегоПараметра; (Проверка: Тонкий клиент) Если написать вообще в самом начале, тогда да, можно в процедуре &НаСервере присвоить ей значение допустим 15. НОООО в процедуре &ПередЗаписью ИмяТвоегоПараметра будет ИмяТвоегоПараметра {<Неизвестный модуль>(1,1)}: Переменная не определена (ИмяТвоегоПараметра) | |||
| 7
    
        Ужасный человек naïve 28.02.25✎ 19:08 | 
        (5) На собеседовании сказали, что мудозвон     | |||
| 8
    
        Ужасный человек naïve 28.02.25✎ 19:13 | 
        1) Объявить в самом начале модуля 
 Перем ИмяТвоегоПараметра 2) В процедуре &НаСервере ПриСозданииНаСервере ИмяТвоегоПараметра =99; 3)В процедуре &НаСервере ПриЗаписиНаСервере Пытаюсь прочитать ИмяТвоегоПараметра . Говорит, что неопределено | |||
| 9
    
        Волшебник 28.02.25✎ 19:15 | 
        (7) надо было дать в морду     | |||
| 10
    
        Asmody 28.02.25✎ 19:32 | 
        (7) и в чём они не правы?     | |||
| 11
    
        Ужасный человек naïve 28.02.25✎ 20:10 | 
        (10) Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой     | |||
| 12
    
        Волшебник 28.02.25✎ 20:12 | 
        (11) Вы не отвлекайтесь от простой передачи параметра. Не обобщайте контекст. Ваша задача сейчас — объяснить, почему не подходят реквизиты формы.     | |||
| 13
    
        Ужасный человек naïve 28.02.25✎ 20:15 | 
        (12) Дык я бы с радостью. Но говорят так нельзя. Почему? У меня лично только догадки     | |||
| 14
    
        Волшебник 28.02.25✎ 20:16 | 
        (13) Вот это Вы нам должны объяснить, потому что мы Вам говорим, что так можно. Теперь мячик на Вашей стороне. Объясните     | |||
| 15
    
        Ужасный человек naïve 28.02.25✎ 20:23 | 
        Занимает место в памяти на весь период жизни формы (14)     | |||
| 16
    
        Волшебник 28.02.25✎ 20:28 | 
        (15) И чо? Кто сегодня экономит оперативную память?     | |||
| 17
    
        Волшебник 28.02.25✎ 20:29 | 
        А переменная не будет занимать место в памяти? Такое чувство, что Вы тупой галлюцинирующий бот     | |||
| 18
    
        Ужасный человек naïve 28.02.25✎ 20:30 | 
        (17) Её можно в коде от условия обьявить     | |||
| 19
    
        Волшебник 28.02.25✎ 20:31 | 
        (18) Не морочьте нам голову! Если переменная нужна, она займёт место в памяти.     | |||
| 20
    
        Волшебник 28.02.25✎ 20:31 | 
        Тупой бот пытается нас одурачить. Приплёл каких-то призрачных собеседователей. Он просто нас тестирует, я так вижу.     | |||
| 21
    
        Ужасный человек naïve 28.02.25✎ 20:33 | 
        Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс     | |||
| 22
    
        Волшебник 28.02.25✎ 20:33 | 
        (21) Тупой бот     | |||
| 23
    
        Волшебник 28.02.25✎ 20:35 | 
        Кстати, он уже не первый раз на нашем форуме. До этого у него был ник Королевский Тигр
 и тоже попал в бан по причине "бот" | |||
| 24
    
        Kongo2019 01.03.25✎ 00:05 | 
        (14) Новый тренд вроде такой, нельзя использовать глобальные переменные. 1С не рекомендует стандартах.     | |||
| 25
    
        Guk 01.03.25✎ 01:07 | 
        (24) когда программисты 1С что-то не асиливают, сразу следуют рекомендации о не рекомендуемости. кто-нибудь может вразумительно объяснить, почему в модуле приложения я могу объявить глобальную клиентскую переменную, а глобальную серверную переменную я не могу объявить нигде. она тут же херится...     | |||
| 26
    
        b_ru 01.03.25✎ 03:09 | 
        Глобальная переменная общего модуля сохраняется только на клиенте. На сервере не могут храниться никакие переменные, сервер 1С:Предприятие stateless, он вообще не хранит никаких данных о сессии, каждое новое обращение к серверу отдельно и не связано с предыдущими. Это концепция, и ее не нарушить.
 Чтобы использовать переменную, объявленную в модуле формы через Перем между серверными вызовами, надо ее объявить &НаКлиенте и соответственно передавать в серверные процедуры при каждом вызове. Или сделать реквизитом формы, тогда передачу на сервер платформа сделает сама. | |||
| 27
    
        Bigbro 01.03.25✎ 05:37 | 
        (18) реквизит формы тоже можно в коде программно по условию создать и что?     | |||
| 28
    
        Конструктор1С 01.03.25✎ 06:01 | 
        (13) видимо тебя собеседовал рукопоп     | |||
| 29
    
        Конструктор1С 01.03.25✎ 06:04 | 
        (24) тренд не новый, ровесник твоего бати. Но реквизиты формы не глобальные переменные, они только в контексте формы видны     | |||
| 30
    
        Kongo2019 01.03.25✎ 10:33 | 
        (29) Ну уже и реквизиты формы и другие служебные реквизиты типа не модно. Теперь модно гонять структуру из одной процедуры в другую.     | |||
| 31
    
        PR 01.03.25✎ 10:36 | 
        Да что вы тут сопли развели
 Люди пытались от ТС добиться использования ДополнительныеСвойства | |||
| 32
    
        rozer76 01.03.25✎ 11:25 | 
        (31) вроде тут про форму а не про объект. Как тут это поможет?     | |||
| 33
    
        DiMel_77 01.03.25✎ 11:34 | 
        (31) А не могли бы вы показать пример - как из серверной процедуры "ПриСозданииНаСервере" через дополнительные свойства объекта передать в клиентскую процедуру "ПередЗаписью"? 
 Я тоже сначала подумал, что спрашивали про дополнительные свойства, но не вяжется с контекстом... | |||
| 34
    
        PR 01.03.25✎ 12:20 | 
        (32) А что, у формы нет основного реквизита Объект?     | |||
| 35
    
        PR 01.03.25✎ 12:22 | 
        (33) Не мог бы, нет времени заниматься ликбезом тех, кому не нужен ликбез, а нужен спор
 Скажу лишь, что в клиентской процедуре ПередЗаписью можно легко вызвать серверную процедуру и получить все, что нужно | |||
| 36
    
        DiMel_77 01.03.25✎ 16:10 | 
        (35) Вы неправы. У вас никак не получится установить дополнительные свойства объекта в процедуре "ПриСозданииНаСервере"? Я вот такой возможности не знаю.
 Я без наезда, может есть прием, а я все пропустил? | |||
| 37
    
        PR 01.03.25✎ 16:56 | 
        (36) Ничего не понял
 Объект.ДополнительныеСвойства.Вставить("ЗадняяЧастьЧеловека", "Жопа"); | |||
| 38
    
        DiMel_77 01.03.25✎ 17:09 | 
        (37) В том то и прикол, что Объект там это данные формы структура. Прочитать объект вы конечно можете типа РеквизитФормыВЗначение("Объект"), а уже установить в нем дополнительное свойство нельзя. Манипуляция дополнительными свойствами возможна только в серверных функция, в которых передаётся объект в качестве параметра типа ПередЗаписьюНаСервере(). Поэтому и интересуюсь.     | |||
| 39
    
        PR 01.03.25✎ 18:24 | 
        (38) А, ну да, в форме не получится
 Причем даже через ЭтотОбъект.Параметры.ДополнительныеПараметры Только через ПоместитьВоВременноеХранилище Но вообще, если речь про форму, то ограничение на не использование реквизита формы само по себе идиотское А если речь про модуль объекта, то велкам, все работает | |||
| 40
    
        Ужасный человек naïve 01.03.25✎ 19:31 | 
        (38) (39) 
 Вы мои кумиры. Спасибо вам огромное. Теперь стало ясно! | |||
| 41
    
        craxx 02.03.25✎ 16:02 | 
        (39) а что мешает ключевыми параметры сделать?     | |||
| 42
    
        PR 02.03.25✎ 17:41 | 
        (41) Вообще не понял, про что речь
 Написано же, в форму реквизиты не добавлять Или типа ну ok, нельзя реквизиты, пропихнем параметры? Думаю, ответ будет такой же, что нечего хитрожопить, делай кодом | |||
| 43
    
        Волшебник 02.03.25✎ 21:21 | 
        (42) Теперь ты кумир, смирись.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |