|   |   | 
| 
 | Как сохранить ссылку на документ? | ☑ | ||
|---|---|---|---|---|
| 0
    
        bebibo 21.10.20✎ 15:43 | 
        Здравствуйте. Не сохраняется значение в реквизит.
 Ссылка есть только в "Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт" ОбъектыНазначенияМассив - массив, в нем одна ссылка на документ. Мне эта ссылка нужна в другой процедуре ниже. Делаю так: создан рекв в обработке "СсылкаНаДок". В процедуре "Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт" пишу: ЭтотОбъект.Требование = ОбъектыНазначенияМассив[0]; Ниже в другой процедуре обращаюсь:СсылкаНаДок = ЭтотОбъект.Требование; - пусто. Как сохранить мне эту ссылку? Прошу подсказать:) | |||
| 1
    
        Free_soul 21.10.20✎ 15:48 | 
        (0) сразу: реквизит какого типа создал?     | |||
| 2
    
        bebibo 21.10.20✎ 15:50 | 
        (1) ДокументСсылка     | |||
| 3
    
        MikhaNik 21.10.20✎ 15:50 | 
        Скорее всего разные типы ссылок.
 Проверь ТипЗнч(ЭтотОбъект.Требование) = ТипЗнч(ОбъектыНазначенияМассив[0]) | |||
| 4
    
        Free_soul 21.10.20✎ 15:50 | 
        (2) а суешь туда массив..  даа. делай хранилищезначения     | |||
| 5
    
        fisher 21.10.20✎ 15:50 | 
        УФ или ОФ? Реквизит формы или объекта? Что говорит Сообщить(Строка(ТипЗнч(ОбъектыНазначенияМассив[0])))?     | |||
| 6
    
        bebibo 21.10.20✎ 15:55 | 
        (3) Истина     | |||
| 7
    
        bebibo 21.10.20✎ 15:55 | 
        (5) Название документа     | |||
| 8
    
        bebibo 21.10.20✎ 15:55 | 
        (5) УФ     | |||
| 9
    
        fisher 21.10.20✎ 15:57 | 
        (8) Реквизит формы или объекта? :)     | |||
| 10
    
        bebibo 21.10.20✎ 15:58 | 
        (9) Он есть и на форме и в объекте     | |||
| 11
    
        bebibo 21.10.20✎ 16:03 | 
        (4) Я не сую массив, я сую элемент массив, то есть ссылку.     | |||
| 12
    
        fisher 21.10.20✎ 16:03 | 
        (10) Предположу, что это реквизит обработки, а не формы. На заре времен оно не переживало серверных вызовов. Потом вроде что-то поменяли, но я по инерции никогда не использую реквизиты обработок в УФ.
 Попробуй удалить реквизит обработки и добавить его на форму (закладка "Реквизиты" в конструкторе формы). | |||
| 13
    
        bebibo 21.10.20✎ 16:04 | 
        Наверено единственный вариант будет делать хранилище значения?     | |||
| 14
    
        fisher 21.10.20✎ 16:09 | 
        Весь код в модуле формы? Покажи полностью процедуры, в которых пишешь и читаешь. Вместе с объявлениями и директивами компилятора.     | |||
| 15
    
        bebibo 21.10.20✎ 16:10 | 
        (12) Так зачем не реквизит формы, если форма не может сохранять ничего? Я наоборот специально рекв обработки создал, чтобы в него сохранил     | |||
| 16
    
        fisher 21.10.20✎ 16:12 | 
        (15) Сохранил куда? :)     | |||
| 17
    
        fisher 21.10.20✎ 16:14 | 
        Обработка в принципе ничего никуда не сохраняет, если ты это не делаешь явным образом (в базу данных). Ты только для формы можешь включить сохранение значений реквизитов в настройки пользователя.     | |||
| 18
    
        bebibo 21.10.20✎ 16:14 | 
        (14) Там так много, не смогу..Где заполняю и обращаюсь к ревизиту - они на клиенте.     | |||
| 19
    
        bebibo 21.10.20✎ 16:15 | 
        (17) Блин, Вы правы..     | |||
| 20
    
        bebibo 21.10.20✎ 16:15 | 
        Сейчас попробую     | |||
| 21
    
        bebibo 21.10.20✎ 16:21 | 
        (12) Сделал.
 Всё равно пусто в реквизите..Когда обращаюсь к нему. | |||
| 22
    
        fisher 21.10.20✎ 16:22 | 
        Я не уверен, что мы друг друга понимаем. Если речь о передаче значения между процедурами формы пока форма открыта, то реквизит формы - это самое то. Он еще и на сервер передаваться будет (будет доступен в серверных контекстных вызовах формы). А так можно еще добавить клиентскую переменную модуля формы и через нее передавать. Эффект тот же, только на сервер "гулять" не будет.
 &НаКлиенте Перем СсылкаНаДок; | |||
| 23
    
        fisher 21.10.20✎ 16:24 | 
        У меня подозрение, что ты пытаешься в модуле объекта обработки получить доступ к реквизиту обработки. Он там всегда пустой будет в УФ. Если только его в том же самом вызове не заполнять :)     | |||
| 24
    
        bebibo 21.10.20✎ 16:26 | 
        (22) В самом верху модуля формы обработки объявил: Перем СсылкаНаДок;
 В "&НаКлиенте Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт" - написал: СсылкаНаДок = ОбъектыНазначенияМассив[0]; Всё нормально. Но вот где обращаюсь (в другой процедуре) к "СсылкаНаДок" - ругается:Переменная не определена (СсылкаНаДок) | |||
| 25
    
        fisher 21.10.20✎ 16:33 | 
        (24) Если ты не написал перед объявлением переменной &НаКлиенте, то ты объявил серверную переменную.
 Другая процедура тоже &НаКлиенте? | |||
| 26
    
        bebibo 21.10.20✎ 16:35 | 
        (25) "Если ты не написал перед объявлением переменной &НаКлиенте, то ты объявил серверную переменную" - не написал. Но теперь написал, ошибки исчезли.
 "Другая процедура тоже &НаКлиенте?" - Да. Но всё равно там опять пусто.. | |||
| 27
    
        bebibo 21.10.20✎ 16:37 | 
        Что не так.. Как блин передать ссылку в другую процедуру..     | |||
| 28
    
        zuza 21.10.20✎ 16:39 | 
        (27) Как вызов другой процедуры происходит?     | |||
| 29
    
        bebibo 21.10.20✎ 16:40 | 
        (28) По кнопке в обработке     | |||
| 30
    
        zuza 21.10.20✎ 16:41 | 
        а вызов этой Процедура ВыполнитьКоманду()?     | |||
| 31
    
        fisher 21.10.20✎ 16:43 | 
        (26) Тогда ты спотыкаешься о что-то, что отсюда не видно. Попробуй воспроизвести проблему на пустой обработке без лишнего окружения.     | |||
| 32
    
        bebibo 21.10.20✎ 16:43 | 
        (30) Она экспортная, это же обработка, которая в вызывается кнопкой на форме документа. Вот я жму на кнопку в документе - открывается моя обработка и заходит в эту процедуру "ВыполнитьКоманду".     | |||
| 33
    
        bebibo 21.10.20✎ 16:49 | 
        Так и не получается..Но мне любым способом нужна ссылка. Может обратиться как то через ВладельцаФормы и тому подобное? Но тоже что то не получалось..     | |||
| 34
    
        MikhaNik 21.10.20✎ 17:24 | 
        ЗначениеЗаполнено(ОбъектыНазначенияМассив[0])     | |||
| 35
    
        MikhaNik 21.10.20✎ 17:26 | 
        Проверь после
 ЭтотОбъект.Требование = ОбъектыНазначенияМассив[0]; ЗначениеЗаполнено(ОбъектыНазначенияМассив[0]) ЗначениеЗаполнено(ЭтотОбъект.Требование) | |||
| 36
    
        Free_soul 21.10.20✎ 18:57 | 
        (34) ) проверить массив на Количество()     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |