Имя: Пароль:
1C
1С v8
v8: Тонкий клиент - матюкается на общий модуль..
,
0 ФарПост
 
04.03.12
15:25
Рисую в Управляемой форме Реализации Товаров и Услуг в Комплексной, вот таку конструкцию:

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
   //Корректируем адрес доставки если он менялся в форме
   Если ПредставлениеАдресаДоставки <> УправлениеКонтактнойИнформацией.ПолучитьПредставлениеАдресаПоСтрока(ТекущийОбъект.АдресДоставки) Тогда
       ТекущийОбъект.АдресДоставки = ПредставлениеАдресаДоставки;
   КонецЕсли;
   
   //Мой код: перенумерация по пользователям
   Если ИмяПользователя() = "Уссурийск менеджер" ИЛИ ИмяПользователя() = "Уссурийск фактуровщик" Тогда
       СтрокаПрефикса = "УСВЛ";
       ТекущийОбъект.Номер = МеханизмНумерацииОбъектов.Перенумеровать(СтрокаПрефикса,ТекущийОбъект);
   ИначеЕсли ИмяПользователя() = "Находка менеджер" ИЛИ ИмяПользователя() = "Находка фактуровщик" Тогда
       СтрокаПрефикса = "НАВЛ";
       ТекущийОбъект.Номер = МеханизмНумерацииОбъектов.Перенумеровать(СтрокаПрефикса,ТекущийОбъект);
   КонецЕсли;    

Ну и далльше остальные строки стандартного кода... и вот мне при запуске Тонкого клиента выддаётся следующая ругань:
ОбщийМодуль.МеханизмНумерацииОбъектов.Модуль(224,22)}: Конструктор не найден
       Обработчик = Новый <<?>>Действие("ДействияФормыРедактировать" + КодНомер);

Вопрос - что сие может значить в переводе для мозгов чайника, осваивающего УФ и ТК
И что мне нужно предпринять, дабы 1Сина перестала вот так матюкаться и начала нормально отрабатывать что её предписано
1 Rie
 
04.03.12
15:28
(0) Действие, которое ты хочешь создать - не существует в управляемом приложении.
2 ФарПост
 
04.03.12
15:30
Вдогонку, в свойствах Общего модуля "МеханизмНумерацииОбъектов" галочки поставил в соответствии с аналогичными модулями, но которые в ТК видяться и исполняются
3 ФарПост
 
04.03.12
15:30
(1) В смысле в ТК нет действия назначить номер новому документу? Или перенумеровать в принципе невозможно?
4 aleks-id
 
04.03.12
15:32
(3) это все можно сделать только на сервере
5 ФарПост
 
04.03.12
15:36
(4) Ну дык я процедуру то на сервере исполняю...
Там же стоит перед процедурой & НаСервере
6 ФарПост
 
04.03.12
15:43
Коллеги ну помогите же... разъясните плиз, может я чего не так понимаю...
Если нельзя Номер дока подправить в форме, может тогда надо в модуль объекта его вынести?
7 aleks-id
 
04.03.12
15:44
гм... а в управляемом приложении вообще нет Действия
8 ФарПост
 
04.03.12
15:48
(7) А не подскажешь, как реализовать смену префикса в зависимости от Пользователя, в УФ на ТК?
9 ФарПост
 
04.03.12
16:07
Хм, перенёс исполнение этого кода в процедуру ПередЗаписью() в Модуль объекта... один хрен при попытке записать документ из под ТК матюкается на отсутствие конструктора... а тут то почему? Модуль объекта, насколько я помню из ЖКК, исполняется то исключительно на сервере... и методы то вроде к ТК и УФ вообще там никаким боком....

Кто нить может объяснить сие поведение 1Сины?
10 AlexTim03
 
05.03.12
10:02
Сервер не оперирует понятиями "Форма" и все, что с ней связаны. Нельзя на сервере "как бы" нажать на кнопку, чтобы произошло действие.
Пиши свою функцию перенумерации. Или редактируй указанную "МеханизмНумерацииОбъектов"  с помощью команд препроцессора (Если Клиент Тогда..., Если Сервер Тогда....)

P.s.
И искать по имени пользователя не очень правильно.
12 ботаникус
 
05.03.12
10:48
"Уссурийск менеджер" ИЛИ ИмяПользователя() = "Уссурийск фактуровщик"  
это что вообще за жесть? руки бы оторвал
13 guevara74
 
05.03.12
10:51
(12)Да.. жестоко...