Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Сохранение реквизитов документа

Сохранение реквизитов документа
Я
   04347
 
16.03.18 - 09:08
Бухгалтерия 3.0.58
Документ ПеремещениеТоваров. В последнем документе заполнен реквизит Комментарий. Нужно сохранить этот реквизит так, чтобы при создании нового документа, там был тот же самый Комментарий. Вот процедуры (через расширение), но не прошли

&НаСервере
Процедура ВосстановитьНастройки()
КлючОбъекта = "ЗагрузкаКомментарий";
КлючНастроек = "ЗагрузкаКомментарий";
ОписаниеНастроек = "ЗагрузкаКомментарий";
ИмяПользователя = "";

ЗначениеНастроек = ХранилищеОбщихНастроек.Загрузить(КлючОбъекта, КлючНастроек, ОписаниеНастроек, ИмяПользователя);

Если ТипЗнч(ЗначениеНастроек) = Тип("Соответствие") Тогда
        
    Объект.Комментарий = ЗначениеНастроек.Получить("Комментарий");
КонецЕсли;
КонецПроцедуры


&После("ПриОткрытии")
Процедура ПриОткрытииРасширение(Отказ)
     ВосстановитьНастройки();
КонецПроцедуры    


&НаСервере
Процедура СохранитьНастройки()  
КлючОбъекта = "ЗагрузкаКомментарий";
КлючНастроек = "ЗагрузкаКомментарий";
ОписаниеНастроек = "ЗагрузкаКомментарий";
ИмяПользователя = "";

Настройки = Новый Соответствие;

Настройки.Вставить("Комментарий", Объект.Комментарий);

ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек, ИмяПользователя);
КонецПроцедуры  


&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
      СохранитьНастройки();
КонецПроцедуры
 
 
   Рэйв
 
1 - 16.03.18 - 09:42
(0)Не мучайся, сделай проще:

///---в модуле объекта


Процедура ПриЗаписи(Отказ)
    Если ЗначениеЗаполнено(Комментарий) Тогда
        ЗначениеВФайл(КаталогВременныхФайлов()+ИмяПользователя()+"_Comment.last",Комментарий);
    КонецЕсли;    
КонецПроцедуры


//---в модуле формы


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    Если Объект.Ссылка.Пустая() Тогда
        ИмяФ=КаталогВременныхФайлов()+ИмяПользователя()+"_Comment.last";
        ф=Новый Файл(ИмяФ);
        Если Ф.Существует() Тогда
            Объект.Комментарий=ЗначениеИзФайла(ИмяФ);
        КонецЕсли;    
КонецПроцедуры
   Рэйв
 
2 - 16.03.18 - 09:42
*КонецЕсли забыл:-)
   Малыш Джон
 
3 - 16.03.18 - 09:47
(0)Комментарий один на всех или у каждого пользователя свой?
   04347
 
4 - 16.03.18 - 09:53
(3) один на всех
   Малыш Джон
 
5 - 16.03.18 - 10:00
(4) попробуй убери Ключ настроек и Описание настроек, все равно они никакой функциональности не несут
   Малыш Джон
 
6 - 16.03.18 - 10:02
+(5) тем более, Описание настроек - это не строка, а Описание настроек. Не знаю влияет ли это на работу с хранилищем, но зачем добавлять параметр заведомо не того типа.
   04347
 
7 - 16.03.18 - 10:37
(1) спасибо за помощь, но почему-то тоже не сработало
   cw014
 
8 - 16.03.18 - 10:38
> В последнем документе заполнен реквизит Комментарий. Нужно сохранить этот реквизит так, чтобы при создании нового документа, там был тот же самый Комментарий.

> один на всех

А по простому запилить константу не получится? Или по сложному пути идти надо?
   04347
 
9 - 16.03.18 - 10:53
комментарий может время от времени меняться
   04347
 
10 - 16.03.18 - 10:57
сделала по-минимуму

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    Объект.Комментарий="ооооо";
    
КонецПроцедуры


не сработало
 
 Рекламное место пустует
   Рэйв
 
11 - 16.03.18 - 11:09
(10)Как то у тебя совсем все запущено:-)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует