Имя: Пароль:
1C
1С v8
По какому принципу происходит автонумерация?
,
0 Gossar1C
 
11.04.13
13:22
Здравствуйте. Кто нибудь знает по какому принципу происходит автонумерация? Вот допустим в справочнике ДоговорыКонтрагентов есть поле номер договора и этому полю нужно автоматически привязывать номер, код формируется лишь после записи, можно ли сделать наподобие автонумерации кода только с полем номер договора? Заранее благодарю.
1 Godofsin
 
11.04.13
13:22
(0) Да, делай свою нумерацию, с блек-джеком и шлюхами
2 SherifSP
 
11.04.13
13:22
Все можно, разрешаю
3 Gossar1C
 
11.04.13
13:23
тоесть создали новый договор, ему присвоился автоматически новый номер договора сразу при создании
4 SherifSP
 
11.04.13
13:23
(1) Пятерых за раз, это как? оО
5 Gossar1C
 
11.04.13
13:23
(1) блек-джек и шлюхи уже есть, автонумерации нема
6 Jonny_Khomich
 
11.04.13
13:24
Конечно, перед записью присваивай значение реквизиту (0)
7 Jonny_Khomich
 
11.04.13
13:24
(5) перед открытием проверяй, новый он или старый и делай ему номер
8 Gossar1C
 
11.04.13
13:25
(6) ну дык перед записью... а нужно при создании, и автоматически упрощенно незнаю как, тоесть если только выборки и запросы...
9 Godofsin
 
11.04.13
13:26
(4) Не умеешь так?
10 zzerro
 
11.04.13
13:27
(8) Ну так выбери запросом последний, максимальный номер договора, и прибавь к нему 1, получишь новый номер.
11 Gossar1C
 
11.04.13
13:28
(7) у меня сейчас реализовано по принципу НомерДоговора(путь к данным Код), так как наименование формируется + НомерДоговора, желательно бы получать его в начале
12 Jonny_Khomich
 
11.04.13
13:29
(8) был бы ты немного сообразительнее .... вопрос бы не задал. есть в 1с помощник, там есть МНОГО умного и полезного, вот одно из них: УстановитьНовыйНомер(<ПрефиксНомера>) для документа и УстановитьНовыйКод(<ПрефиксКода>) для справочника
13 Gossar1C
 
11.04.13
13:29
(10) запросы ;) может я и нытик)но мне кажется они сильно загружают 1ску
14 Gossar1C
 
11.04.13
13:31
(12) про установитьНовыйКод пробовал еще до того когда не хотел использовать поле код) но всеравно спасибо за подсказку)
буду пробовать
15 Serg_1960
 
11.04.13
13:34
Ну тогда, что ли,  константу создай для хранения следующего номера договора. Это если нумерация "сквозная" по базе. Иначе - регистр сведений (период, номер) для периодичной нумерации.
16 Jonny_Khomich
 
11.04.13
13:35
(0) в общем перед записью делаешь "УстановитьНовыйКод", а потом делаешь "номердоговора" + "код"
17 Gossar1C
 
11.04.13
13:37
(12) спасибо большое за совет) все получилось) единственный вопрос... нумерация с префиксом начинается так EP-01,EP-02 и тд, дальше он будет как присваиваться? EP-010,EP-011? В модуле объекта в обработке заполнения поставил установку кода, наименование формируется так

&НаСервере
Функция СформироватьНаименованиеДоговора(Наименование)
   
   Если Найти(Наименование,"№") = 0 Тогда
       Наименование = Наименование + " № " + Объект.Код;
   КонецЕсли;
   
   Возврат Наименование;
   
КонецФункции

&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
   
   Объект.Наименование = СформироватьНаименованиеДоговора(Объект.Наименование);
   
КонецПроцедуры
18 Godofsin
 
11.04.13
13:37
(13) бугагашечки
19 Gossar1C
 
11.04.13
13:40
(18) не? ;)  да если неправильно делать запрос будет тормозить... очень много полезного хранится в общих модулях, те же самые контактные данные партнера для печати выудил через общий модуль, и мне кажется так и быстрее и лучше)
20 Godofsin
 
11.04.13
13:43
(19) Не, если криво написать запрос, он может и будет долго работать =) Все от рук зависит. Ну а то, что ты пользуешься глобальными функциями - это правильно
21 Gossar1C
 
11.04.13
13:46
(17) поправочка) принцип работы понял, спасибо