Всем привет!
Уважаемые форумчане.. вообще сам вопрос возник не от сильно глубокого понимания принципа работы клиента и сервера. Хотя я просматривал инфу по страницам, говориться о принципе работы и обмена между клиентом и сервером, но че то не нашел инфу о том, как создать индивидуальную для каждого клиента постоянную запись.
Что бы как работало?
Допустим один пользователь выбрал отчетный месяц и значение выбранного им отч. месяца тут же записывается в константу. Т.е. через событие ПриИзминении
А ПриОткрытии формы в нужном поле отображается в последний раз записанное в константу значение.
Вроде все нормально, но не совсем.
Нужно, что бы было так как изложил, но только для одного компьютера.
Просто я точно не знаю, но .... если данные записываются в константу это ведь для всех пользователей (компов) будет общим ... настолько я понимаю.
Нужно, что бы запись была постоянная, пока ее сам пользователь не изменит, но ЧТО БЫ ОНА МЕНЯЛАСЬ И ОТОБРАЖАЛАСЬ ТОЛЬКО ДЛЯ ОДНОГО КЛИЕНТА (ПК).
Т.е. что бы значение хранилось постоянно, но что оно было ИНДИВИДУАЛЬНЫМ ДЛЯ КАЖДОГО ПОЛЬЗОВАТЕЛЯ.
Вот что нужно.
Как оптимальнее это сделать?
И через какой элемент в конфигурации для упр. приложений?
Буду признателен!
Gigi @ Сегодня, 15:07
,
ОМГ. При чем здесь константы. Откройте для себя параметры пользователя.
Используйте АвтоматическоеСохранениеДанныхВНастройках. Это в свойствах формы.
Gigi @ Сегодня, 14:58
,
Что бы рулить сохраненными значениями формы есть события формы:
&НаСервере
Процедура ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки)
//Вставить содержимое обработчика
КонецПроцедуры
&НаСервере
Процедура ПриСохраненииДанныхВНастройкахНаСервере(Настройки)
//Вставить содержимое обработчика
КонецПроцедуры
Flexy @ Сегодня, 15:01
,
Дааа .... много не знаю ... вожусь уже месяца три.
Ладно! попробую ... если че опять буду просить помощи.
Спасибо!
Gigi @ Сегодня, 15:11
,
продолжаю начатую тему... потому, что опять нужна помощь
хотя знаю что это уже занудство ... ну да... достал уже ...но все таки..
Сделал как было сказано поставил галочки там где нужно, и форма сохраняет значение и при перезапуске отображает последние значения.
Но к сказанному мной забыл добавить.
Дело в том, что нужно то, что получилось в результате: АвтоматическоеСохранениеДанныхВНастройках - Использовать
только плюс к этому что бы сохраненное таким образом значение формы, можно было получить в другую форму.
Т.е. допустим на формеЭлемента справочника1 стоит АвтоматическоеСохранениеДанныхВНастройках - Использовать
А у формыЭлемента Справочника2 нет.
Нужно, для формы справочника2 получить то, что сохранила Форма элемента справочника1
Нигде не нашел команду как это сделать блин.
Гууу ... занудство ... но опять нужна помощь.
И поподробнее просто код.
На пример при открытии ФормыЭлемента справочника2
Процедура ПриОткрытии(отказ)
//Тут нужен КОД как получить сохраненные данные формыЭлемента на пример справочника1
КонецПроцеджуры
Gigi @ Сегодня, 22:04
,
Если конфигурация типовая, то там можно использовать регистр сведений "Сохраненные настройки".
Если же самописная, то можете сделать по аналогии у себя. Примерно так:
Структура регистра, измерения:
- Пользователь (СправочникСсылка.Пользователи, сюда пишете какого пользователя у вас настройка)
- ИмяОбъекта (Строка (100), строковое название объекта, например "Обработка.МояОбработка");
- НаименованиеНастройки (Строка (100), ваше наименование настройки)
Ресурсы:
- СохраненнаяНастройка (ХранилищеЗначения, сюда запихиваете параметр с типов "ХранилищеЗначения" в котором можете хранить что угодно: таблицу, структуру, массив).
Применение примерно следующее: в форме настройки которой хотите сохранить, вызываете такую процедурку:
Процедура СохранитьНастройкуПользователя()
СтруктураНастройки = Новый Структура;
СтруктураНастройки.Вставить("ЧетоХраним", "Я хз что");
СтруктураНастройки.Вставить("ЧетоХраним2", "Опять я хз");
МенеджерЗаписи = РегистрыСведений.СохраненныеНастройки.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Пользователь = ПараметрыСеанса.ТекущийПользователь;
МенеджерЗаписи.ИмяОбъекта = "ВашОбъектСтрокой";
МенеджерЗаписи.НаименованиеНастройки = "ИмяВашейНастройки";
МенеджерЗаписи.СохраненнаяНастройка = Новый ХранилищеЗначения(СтруктураНастройки);
МенеджерЗаписи.Записать(Истина);
КонецПроцедуры
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СохраненныеНастройки.СохраненнаяНастройка
|ИЗ
| РегистрСведений.СохраненныеНастройки КАК СохраненныеНастройки
|ГДЕ
| СохраненныеНастройки.Пользователь = &Пользователь
| И СохраненныеНастройки.ИмяОбъекта = &ИмяОбъекта
| И СохраненныеНастройки.НаименованиеНАстройки = &ИмяНастройки
|";
Запрос.УстановитьПараметр("Пользователь", ПараметрыСеанса.ТекущийПользователь);
Запрос.УстановитьПараметр("ИмяОбъекта", "ВашОбъектСтрокой");
Запрос.УстановитьПараметр("ИмяНастройки", "ИмяВашейНастройки");
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
ХранилищеНастройки = Выборка.СохраненнаяНастройка;
СтруктураНастройки = ХранилищеНастройки.Получить(); // ВОТ ТУТ И ПОЛУЧИЛИ НУЖНУЮ ВАМ СТРУКТУРУ
Сообщить(СтруктураНастройки.ЧетоХраним);
Сообщить(СтруктураНастройки.ЧетоХраним2);
КонецЕсли;
Bernet @ Сегодня, 22:12
,
Отлично!
Ну отвечаю ... все равно без форума никак.
Ну где я в учебнике смог бы найти все это?
Там в общих чертах и довольно скупо и размыто.
Спасибо!
Протестю ... думаю вот это уже то, что нужно...
гууу .. как я завис уже.. никак закончить не могу это одно дело.
Ладно! Еще раз спасибо!
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua