Имя: Пароль:
1C
1С v8
Помогите разобраться с кодом!
,
0 1c_Help
 
21.06.14
03:52
При Создание Документа выдает ошибку!

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    ЭтаФорма.Элементы.Статус.Доступность = Ложь;
    
    Если СерверСтатусОтправлен()Тогда
    
        ЭтаФорма.ТолькоПросмотр = Истина;
        ЭтаФорма.КоманднаяПанель.ТолькоПросмотр = Истина;
        ЭтаФорма.Элементы.Ответственный.Доступность = Ложь;
        ЭтаФорма.Элементы.Подразделения.Доступность = Ложь;
        ЭтаФорма.Элементы.НомерКонтекстноеМеню.ТолькоПросмотр = Истина;
        ЭтаФорма.Объект.ПометкаУдаления = Ложь;
        
КонецЕсли;

    
КонецПроцедуры

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    
    СерверСтатусОтправлен();
    
КонецПроцедуры


&НаСервере
Функция СерверСтатусОтправлен()
    
    Объект.Статус = Перечисления.СтатусДокумента.Отправлен;
    
КонецФункции // СерверСтатус()







Вроде бы все правильно если статус - отправленный тогда Заблокировать поля!!
1 Armando
 
21.06.14
03:57
Возврат Объект.Статус = Перечисления.СтатусДокумента.Отправлен;
2 1c_Help
 
21.06.14
04:01
Так?


&НаСервере
Функция СерверСтатусОтправлен()
    
    Объект.Статус = Перечисления.СтатусДокумента.Отправлен;
    
Возврат Объект.Статус = Перечисления.СтатусДокумента.Отправлен;

КонецФункции // СерверСтатус()







я подумал как-то так :)







&НаСервере
Функция СерверСтатусОтправлен()
    
    Объект.Статус = Перечисления.СтатусДокумента.Отправлен;
     Возврат истина;
КонецФункции // СерверСтатус() (1)
3 1c_Help
 
21.06.14
04:08
Ладно сам разберусь :)  не выдает ошибку ! но при открытие стату отправлен! А он должен изменится ПередЗаписи !!!
4 Wobland
 
21.06.14
04:08
&НаСервере
Функция СерверСтатусОтправлен()
    
    
Возврат Объект.Статус = Перечисления.СтатусДокумента.Отправлен;

КонецФункции // СерверСтатус()
5 1c_Help
 
21.06.14
04:14
По короче

ПриОткрытие Статус = Новый

ПередЗаписи Статус = Отправленный

Но теперь ПриОткрытие Статус Отправленный ! А не должно быть так! (4)
6 1c_Help
 
21.06.14
04:17
Ошибка тут !(4)



&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    ЭтаФорма.Элементы.Статус.Доступность = Ложь;
    
    Если СерверСтатусОтправлен()Тогда /// Ошибочка :( !!!!!
        ЭтаФорма.ТолькоПросмотр = Истина;
        ЭтаФорма.КоманднаяПанель.ТолькоПросмотр = Истина;
        ЭтаФорма.Элементы.Ответственный.Доступность = Ложь;
        ЭтаФорма.Элементы.Подразделения.Доступность = Ложь;
        ЭтаФорма.Элементы.НомерКонтекстноеМеню.ТолькоПросмотр = Истина;
        ЭтаФорма.Объект.ПометкаУдаления = Ложь;
        
КонецЕсли;

    
КонецПроцедуры (4)
7 Wobland
 
21.06.14
04:28
при открытии - новый, перед записью - не новый
http://i.imgur.com/kJ3XKdu.png
8 1c_Help
 
21.06.14
04:34
Ааааа я забыл что ПереДЗаписью Происходит все это в модуль объекта(7) щас попробую СПС :)

P.S Ты такой умный вод бы мне твой мозги ^_^ (7)
9 Wobland
 
21.06.14
04:39
а пожалуйста
http://vilinburg.net/_fr/15/6869586.jpg
10 1c_Help
 
21.06.14
04:52
11 1c_Help
 
21.06.14
05:01
А ведь Armando тоже был прав :) но не объяснил до конца...

Работает СПС всем!

И тебе Wild ^_^....
12 Armando
 
21.06.14
13:09
И вообще это не на клиенте в ПриОткрытии должно быть, а в ПриСозданииНаСервере
13 дедушка Вах
 
21.06.14
13:15
(11) не, даже Armando не прав, правильное решение пиво-рыпка-жена
14 GANR
 
21.06.14
15:42
(0) Во-первых, зачем вообще строить код так, что приходится обращаться из ПриОткрытии к серверу? А во-вторых почему функция ничего не возвращает?

Это не программа... Это не скажу что.