Имя: Пароль:
1C
1С v8
Проблема с Статус Документа! Помогите плиз :)
0 1c_Help
 
05.06.14
20:54
Есть Документ(Заказ)
Реквизит(Статус) Тип Ссылка на Перечисления Значение Новый и Отправлен!


Дела в том что мне нужно при создание Документа(Заказ) В поле Статус автоматический заполнялось Значением Новый.

С этим вроде бы разобрался!

Есть два примера!

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

и второй!

&НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
        
        Объект.Статус = ПредопределенноеЗначение("Перечисление.СтатусДокумента.Новый");

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


Все норм Создается документ Статус Новый!

Но Допустим я выбираю статус Отправлен! После Нажатие на Провести и закрыть Сохраняется а !!! При повторном открытием опять ставится статус Новый а Должно быть Отправлений!

И еще По суть статус Новый должно ставится только при создание а не при открытие документа!!!

Поделитесь своим опытом :)
Помогите разобраться :)
1 Banned
 
05.06.14
20:57
ЭтоНовый()
2 1c_Help
 
05.06.14
21:00
как ЭтоНовый() я как-то не разбираюсь))
можно пример? (1)
3 1c_Help
 
05.06.14
21:04
(1) ЭтоНовый() что имеется виду? новый документ?

Мне бы пример какой-то ^_^
а то не понятно )
4 a_alenkin
 
05.06.14
21:10
ОбработкаЗаполнения() в модуле документа
5 1c_Help
 
05.06.14
21:18
(4) Вот нашел в Модуль Объекта (документ)



Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    
?????
?????
?????    
    
    
КонецПроцедуры

Что прописать в обработке :))?
это код      Объект.Статус = ПредопределенноеЗначение("Перечисление.СтатусДокумента.Новый");
6 1c_Help
 
05.06.14
21:23
Чё-то не получается :(
7 1c_Help
 
05.06.14
21:28
Задача При создание документа! что бы авто. заполнилось Реквизита Статус  с значение Новый!

Только при созданий а дальше должно быть как обычно...
8 1c_Help
 
05.06.14
21:30
каждый раз при открытие вставляется значение Новый а должно только при создание документа!
9 1c_Help
 
05.06.14
21:37
Может как-то так!

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

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

Бредова но нечего другого не смог придумать...
10 1c_Help
 
05.06.14
21:44
ну-же дайте полноценный пример! а то загадками пишите! Я не экстрасенс)))
11 Лефмихалыч
 
05.06.14
21:53
(10) мы тоже не экстрасенсы и что написано в (0) достоверно угадать не можем. Вопрос в чем? Как сделать, чтобы при создании нового документа статут устанавливался в Новый? Легко - в модуле документа в процедуре ОбработкаЗаполнения сделай так
Процедура ОбработкаЗаполнения(*тутпараметрыкакиетоплатформасамомподставит*)
   Если ЭтоНовый() Тогда
      Статус = Перечисления.СтатусДокумента.Новый;

остальное понять не возможно из каши в (0)
12 1c_Help
 
05.06.14
22:00
(11) СПС шас попробую :)
а что будет если мы сменим статус на отправленный!? и провести и закрыть потом опять открываем документ!

Проше говоря что будет при повторного открытие документа!?
13 Лефмихалыч
 
05.06.14
22:03
(12) код, который я написал, работает только при создании нового документа. При открытии не новых, он выполняться не будет - там же по-русски вроде написано "если ЭтоНовый()"
15 Лефмихалыч
 
05.06.14
22:04
да и обработка заполнения для не новых просто так не вызывается - ее только кодом можно намеренно вызвать
16 1c_Help
 
05.06.14
22:09
(15)

Вот что я сделал!

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




а вот и ошибки!
{Документ.Заказы.МодульОбъекта(1,31)}: Ожидается имя формального параметра
Процедура ОбработкаЗаполнения(<<?>>"ДокументОбъект.Заказы"); (Проверка: Сервер)



кажись я не умею параметры вставлять ....


СПС тебе и сори что беспокою ... я новичок в 1с
17 Лефмихалыч
 
05.06.14
22:14
(16) сдавайся - это не твое.
ОбработкаЗаполнения - это предопределенная процедура, у нее всего два параметра и оба не такие, как ты написал, и оба предопределены платформой. Более того конструкция, тообой порожденная, ни чего общего в языком 1С не имеет, от того и ошибки. Зачем ты вообще туда полез параметры писать?..

Ладно. Щас смотри внимательно за руками - я буду медленно это делать:
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    Если ЭтоНовый() Тогда
         Статус = Перечисления.СтатусДокумента.Новый;
18 Лефмихалыч
 
05.06.14
22:15
а еще у реквизитов объектов метаданных есть свойство "Значение заполнения", в которое можно выбрать предопределенное значение на этапе разработки и не писать код вообще
19 1c_Help
 
05.06.14
22:22
(17)  с предопределено знаю но при повторном открытие документа значение остается тоже Например:

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

вот попробовал с предопределенный...

&НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
        
        Объект.Статус = ПредопределенноеЗначение("Перечисление.СтатусДокумента.Новый");

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


сейчас попробую ваш код :)
20 Лефмихалыч
 
05.06.14
22:24
(19) ну так выкоси весь свой код нафиг и оставь толкьо мой - будет работать
21 1c_Help
 
05.06.14
22:26
(20)

Спасибо Вам!

Ваш код рабочий :)

Удачи вам^_^
22 Лефмихалыч
 
05.06.14
22:27
почитай того же Радченко или Ожегова хотя бы
23 Banned
 
05.06.14
22:29
(22) у тебя дядя устроился на бисерную фабрику? :-))
24 1c_Help
 
05.06.14
23:02
(22) Я начал смотреть Видео курсы от Евгений Гилев и Насипов Фарит Вроде бы хорошо объясняют но такого примера пака не нашел в эти курсы правда я там искал в базовом курсе а еще есть и продвинутый...
25 Лефмихалыч
 
05.06.14
23:41
(24) книжки читай. От мультиков умнее не станешь
26 a_alenkin
 
06.06.14
12:24
А проверять на "Новый()" в обработке заполнения совсем не обязательно