Имя: Пароль:
1C
 
Как сбросить префикс у документа? хелп.
Ø
0 Пим Сибирский
 
17.06.05
13:28
При копировании существующего документа, его номер получается с префиксом.
В базе существут документы с таким префиксом. Перенумерацию делать нельзя, т. к. это платежные поручения. Что странно при вводе нового документа не копированием префикс не появляется. Можно ли как-то сбросить этот префикс, чтобы его небыло ни при вводе нового документа, ни при копировании?
1 Пим Сибирский
 
17.06.05
13:33
up
2 Mitrich
 
17.06.05
13:34
Ищи метод УстановитьНовыйНомер в процедуре ВводНового и разбирайся.
3 Пим Сибирский
 
17.06.05
13:44
Конфа, к стати, не типовая. Нету там такого.
4 Макс 1С
 
17.06.05
13:46
еще можно поискать ПрефиксНомера(<?>)..... а вообще смотри процедуру ВводНового(ПризнакКопир) .... должно быть условие
что-то типа если ПризнакКопир = 1 тогда
ля-ля-ля и дальше по смыслу
5 stps
 
17.06.05
13:47
(3) Ну дак сделай сам.
6 stps
 
17.06.05
13:50
Процедура ВводНового()
  УстановитьНовыйНомер("ТвойПрефикс");
КонецПроцедуры
7 Пим Сибирский
 
17.06.05
13:57
Дык появляться-то он стал не из-за того, что кто-то написАл "УстановитьНовыйНомер", а из-за того, что в базе появились документы с номерами типа "Э00012". Вот и вновь вводимым документам, механизм автоматической нумерации движка присваивает "Э00013". Если ввести документ с номером "А00010", то следующий получится с номером "А00011" и т. д. Я бы вот хотел узнать, как от этой хрени можно избавиться без перенумерации. То, что программно можно устанавливать код, это ежу понятно. Я думал, что есть какой-то способ просто "сбросить" этот префикс.
8 A
 
17.06.05
14:03
(7) Самый простой способ код - число, сохранить, код - строка, сохранить. Единственно уникальность может нарушиться.....
9 Пим Сибирский
 
17.06.05
14:08
8, Мысль. А где хранятся эти префиксы физически в 1С? Вообще исходя из чего 1С определяет номера? Есть такая таблица 1SDNLOCK.DBF, "Номеров документов" назвается. Я её посмотрел ничего полезного не увидел.
10 Макс 1С
 
17.06.05
14:27
епть.... а кто тогда тебе сказал что это префикс?......
вопрос задавай правильно... и будет тебе счастье...
11 Чучундер
 
18.06.05
01:06
Для пользователя логика нумерации выглядит так:
1. Определяется префикс, последний по алфавиту.
2. Номерная часть данного префиксак увеличивается на 1.
При необходимости исправления - исправление префиксов и/или модификация кода. По логике: последний по алфавиту префикс сделать более ранним - поставь перед Э точку, в процедурах печати - если надо пропиши "убирание" точки...
12 VZ
 
18.06.05
01:12
Все правильно, все справедливо. Механизм автонумерации учитывает желание юзера иметь алфавитно-цифровой номер. Человек - царь природы, а не какой-то комп... Вот пусть царь и разбирается, раз сам решил "порулить"...
13 Дурочка 1С
 
18.06.05
01:47
Процедура ВводНового()
  УстановитьНовыйНомер("0");
КонецПроцедуры
14 Чучундер
 
18.06.05
01:52
(13) как самый простой вариант для "тупых", недостаток: нумеровать-то надо с префиксом А или Б или ЦПХ - как сложилось исторически у юзера... А завтра еще что-нибудь "всплывет"... ;-)
15 Дурочка 1С
 
18.06.05
01:56
(14)
Процедура ВводНового()
  УстановитьНовыйНомер("А0");
КонецПроцедуры
или
Процедура ВводНового()
  УстановитьНовыйНомер("Б0");
КонецПроцедуры
или
Процедура ВводНового()
  УстановитьНовыйНомер("ЦПХ-0");
КонецПроцедуры
16 Чучундер
 
18.06.05
02:13
Не, не пойдет - решение частное.
Вот только что Умник1С ввел новый док с префиксом "НКПР" - префикс удалить нельзя... Звать спеца, чтоб код поправил... ;-)
Конец ветки - че-то циничен я сегодня... ;-)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший