Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> УстановитьПривилегированность() в КлиентСерверном режиме          
ignsv Подменю пользователя
сообщение 04.07.12, 12:10
Сообщение #1

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 193
Спасибо сказали: 60 раз
Рейтинг: 0

Доброго дня. УТП 1.2.7.4, док Расходная накладная

Стала необходимость дать пользователю право редактировать: серию, номер, дату доверенности. При этом у него нет доступа редактировать проведенные ранее документы.
Права изменять нельзя. НО надо както менять эти реквизиты и записывать документ.

Начал все реализовывать через УстановитьПривилегированность() , потом меняю реквизиты и записую.

В файловом режиме все норм работает:
Процедура ДействияФормыИгн(Кнопка)
        ТекСтрока = ЭлементыФормы.ДокументСписок.ТекущаяСтрока;        
    ДокОб = ТекСтрока.ПолучитьОбъект();
    УстановитьПривилегированныйРежим(Истина);
    ВозвращаемоеЗначение = ДокОб.ПолучитьФорму("Форма").ОткрытьМодально();
    Если ВозвращаемоеЗначение = Неопределено Тогда
    Иначе
        ДокОб.ДоверенностьСерия  = ВозвращаемоеЗначение[0];
        ДокОб.ДоверенностьНомер  = ВозвращаемоеЗначение[1];
        ДокОб.ДоверенностьДата   = ВозвращаемоеЗначение[2];
        ДокОб.ОтпускРазрешил      = ВозвращаемоеЗначение[3];
        ДокОб.ОтпускПроизвел     = ВозвращаемоеЗначение[4];
        
        ДокОб.Записать(РежимЗаписиДокумента.Запись);
    КонецЕсли;
    УстановитьПривилегированныйРежим(Ложь);
    
КонецПроцедуры


Дальше начал курить СП и УстановитьПривилегированныйРежим().

Теперь нужно на Серверный режим:

И вот у меня проблемы и начались ))


Пробовал:
Процедура ДействияФормыИгн(Кнопка)
ТекСтрока = ЭлементыФормы.ДокументСписок.ТекущаяСтрока;        
Довереность(ТекСтрока );
КонецПроцедуры

&НаСервере
Процедура Довереность()
      ДокОб = ТекСтрока.ПолучитьОбъект();
    УстановитьПривилегированныйРежим(Истина);
    ВозвращаемоеЗначение = ДокОб.ПолучитьФорму("Форма").ОткрытьМодально();
    Если ВозвращаемоеЗначение = Неопределено Тогда
    Иначе
        ДокОб.ДоверенностьСерия  = ВозвращаемоеЗначение[0];
        ДокОб.ДоверенностьНомер  = ВозвращаемоеЗначение[1];
        ДокОб.ДоверенностьДата   = ВозвращаемоеЗначение[2];
        ДокОб.ОтпускРазрешил      = ВозвращаемоеЗначение[3];
        ДокОб.ОтпускПроизвел     = ВозвращаемоеЗначение[4];
        
        ДокОб.Записать(РежимЗаписиДокумента.Запись);
    КонецЕсли;
    УстановитьПривилегированныйРежим(Ложь);


и в модуль общий выносил ( с флагами сервер, клиент, вызов сервера)
И сразу ДействияФормыИгн(Кнопка) "НаСервере" пробовал запускать
ничего не выходит, 1с как не видет всего что "&НаСервере"

Опыта работы с Серверным режимом вообще не имеется вот и прошу помощи.


Vofka Подменю пользователя
сообщение 04.07.12, 12:19
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

Цитата(ignsv @ 04.07.12, 13:10) *
И вот у меня проблемы и начались

Нам стелепатировать какие?

Цитата(ignsv @ 04.07.12, 13:10) *
Опыта работы с Серверным режимом вообще не имеется вот и прошу помощи.

Если это обычное приложение - то платформа сама заботится о клиент-серверном взаимодействии и не надо для процедур указывать директивы компиляции.

ignsv Подменю пользователя
сообщение 04.07.12, 12:32
Сообщение #3

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 193
Спасибо сказали: 60 раз
Рейтинг: 0

Цитата(Vofka @ 04.07.12, 13:19) *
Если это обычное приложение - то платформа сама заботится о клиент-серверном взаимодействии и не надо для процедур указывать директивы компиляции.


уже проверял: Клиент серверный режим, Обычное Приложение

не указывая где выполнять выполняетсья на Клиенте ( и соответственно УстановитьПривилегированныйРежим(Истина) = Ложь) как в принципе в СП и описано.

а проблемы в том что процедуры, которые идут после &Насервере не обнаруживает - "Не обнаружена процедура Довереность()"

logist Подменю пользователя
сообщение 04.07.12, 12:37
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(ignsv @ 04.07.12, 13:32) *
Обычное Приложение

Цитата(ignsv @ 04.07.12, 13:32) *
проблемы в том что процедуры, которые идут после &Насервере не обнаруживает - "Не обнаружена процедура Довереность()"

НЕ используйте в обычном приложении директивы для управляемого приложения.



Signature
Личные бесплатные консультации не даю, для этого есть форум!

ignsv Подменю пользователя
сообщение 04.07.12, 12:54
Сообщение #5

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 193
Спасибо сказали: 60 раз
Рейтинг: 0

Цитата(logist @ 04.07.12, 13:37) *
НЕ используйте в обычном приложении директивы для управляемого приложения.


тоесть в Серверном режим, обычном приложении УстановитьПривилегированныйРежим не удастся ?

logist Подменю пользователя
сообщение 04.07.12, 13:17
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

тоесть читайте что такое директивы компиляции


Signature
Личные бесплатные консультации не даю, для этого есть форум!

ignsv Подменю пользователя
сообщение 04.07.12, 14:06
Сообщение #7

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 193
Спасибо сказали: 60 раз
Рейтинг: 0

Сдедал так:

в форме списка
Процедура ДействияФормыИгн(Кнопка)
    ТекСтрока = ЭлементыФормы.ДокументСписок.ТекущаяСтрока;
    ВозвращаемоеЗначение = ТекСтрока.ПолучитьФорму("Форма").ОткрытьМодально();
    Если ВозвращаемоеЗначение = Неопределено Тогда
    Иначе                
        РН_доверенность_.Номер2(ТекСтрока,ВозвращаемоеЗначение);
    КонецЕсли;
КонецПроцедуры


потом добавил общий модуль с флагом " Привилегированность"
в нем:
      Процедура Номер2(ТекСтрока,ВозвращаемоеЗначение) Экспорт
     ДокОб = ТекСтрока.ПолучитьОбъект();
        
    ДокОб.ДоверенностьСерия  = ВозвращаемоеЗначение[0];
    ДокОб.ДоверенностьНомер  = ВозвращаемоеЗначение[1];
    ДокОб.ДоверенностьДата   = ВозвращаемоеЗначение[2];
    ДокОб.ОтпускРазрешил      = ВозвращаемоеЗначение[3];
    ДокОб.ОтпускПроизвел     = ВозвращаемоеЗначение[4];
    ДокОб.Записать(РежимЗаписиДокумента.Запись);
    
      КонецПроцедуры


прошли изменения в документ для пользователя без прав.
будем тестировать...

Сообщение отредактировал MATEVI - 04.07.12, 14:24

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 15.06.24, 17:09
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!