Имя: Пароль:
1C
 
Как установить номер документа?
0 hmelap
 
10.06.08
09:43
Цель: Надо сделать так, чтобы для документа "Реализация товаров и услуг" номер для Юр.Лиц оставался таким какие его создает система, а для Физ.лиц добавлять префикс Ф при этом чтобы номер начинался с еденицы т.е. Пример: Юр.лицо 00000001 а Физ.лицо Ф0000001
1 hmelap
 
10.06.08
09:44
я сделал вот так, в модуле формы создал процедуру ПриЗаписи, но ничего не получается, он  на вызывается судя по точкам останова
2 hmelap
 
10.06.08
09:44
Процедура ПриЗаписи()
   Контр = Справочники.Контрагенты.НайтиПоНаименованию(ЭлементыФормы.Контрагент.Значение);
   Если Контр.ЮрФизЛицо = "Физ. лицо" Тогда ЭлементыФормы.Номер.УстановитьНовыйНомер("Ф")
   Иначе Документы.РеализацияТоваровУслуг.УстановитьНовыйНомер(0)
   КонецЕсли;
КонецПроцедуры
3 Defender aka LINN
 
10.06.08
09:44
(0) Нафига?
4 ShoGUN
 
10.06.08
09:44
(0) СП украли? УстановитьНовыйНомер(Префикс)
5 mikecool
 
10.06.08
09:45
(0) возможно надо еще обработать событие ПриЗаписи...
6 ShoGUN
 
10.06.08
09:46
(1) Процедуру надо создавать в модуле документа. В модуле формы - чревато.
7 hmelap
 
10.06.08
09:47
(4) я и так использую УстановитьНовыйНомер(Префикс), посмотри по тексту
(5) где?
8 Defender aka LINN
 
10.06.08
09:47
(1) Процедуру надо еще и обработчиком назначить. Но лучше вообще в это дело не лезь.
9 hmelap
 
10.06.08
09:48
(6) Сейчас попробую
10 Defender aka LINN
 
10.06.08
09:49
(5) Уйди, пока еще че-нить не посоветовал.
Аффтар, ты можешь рассказать, на кой уй тебе оно впилось?
11 hmelap
 
10.06.08
09:51
могу конечно! Клиент так хочет, чтобы у Юр. и Физ. лиц номер был разный!
12 Валерыч
 
10.06.08
10:00
(2) ну ни  х... себе
1. в модуле документа определи процедуру ПриУстановкеНовогоНомера(Префикс)
2. в этой процедуре пропиши примерно так
Префикс = ?( КОнтрагент.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо, "Ф", "0");
Только подумай, если после формирования номера кто-нибудь изменить контрагента так, что изменится тип лица. Что будет?
13 mikecool
 
10.06.08
10:01
(10) тьфу на тебя :)
14 mikecool
 
10.06.08
10:01
+13 ушел
15 Defender aka LINN
 
10.06.08
10:07
(11) А если записать документ и выбрать другого контрагента?
А вообще - оставь в покое "ПередЗаписью". А уж "ПриЗаписи" вообще забудь.
16 hmelap
 
10.06.08
10:13
Процедура ПриУстановкеНовогоНомера(Префикс)
   Контр = Справочники.Контрагенты.НайтиПоНаименованию(ПолучитьФорму("ФормаДокумента").ЭлементыФормы.Контрагент.Значение);
   Префикс = ?(Контр.ЮрФизЛицо = "Физ. лицо", "Ф", "0");
КонецПроцедуры //ПриУстановкеНовогоНомера

не получается! ошибка: "Не уникальный номер документа!"
17 hmelap
 
10.06.08
10:14
не получается! ошибка: "Не уникальный номер документа!" - это не относится к тексту модуля объекта!
18 hmelap
 
10.06.08
10:20
ААААА!!! ПОМОГИТЕ!!! ;)
19 Валерыч
 
10.06.08
10:25
(16) перестань писать бред. Или ты ен ищешь легких путей. Обязательно через ж... инфу вытаскивать?
20 mikeA
 
10.06.08
10:45
(0) Конфигурация какая? Посмотри подписку на событие ПриУстановкеНовогоНомераДокумента, в УПП номера там устанавливаются.