|
Как написать функцию, при которой НомерДокумента = НомерПредыдущегоДокумента + 1 | ☑ | ||
---|---|---|---|---|
0
King-SD
28.05.15
✎
07:58
|
Как написать функцию, при которой НомерДокумента = НомерПредыдущегоДокумента + 1 ??
|
|||
1
Галахад
гуру
28.05.15
✎
08:00
|
Типовая же есть.
|
|||
2
King-SD
28.05.15
✎
09:12
|
(1) Ну так какая? мне её всёравно переделать придётся
|
|||
3
AntiBuh
28.05.15
✎
09:14
|
ПриЗаписи номер дока в константу
потом этаКонстанта + 1 |
|||
4
Фокусник
28.05.15
✎
09:15
|
(0) Чем не устраивает автоматическое присвоение нового номера средствами платформы 1С?
|
|||
5
LordCMEPTb
28.05.15
✎
09:17
|
Написать запрос, который возьмет выборку документов (возможно, только по нужной организации), взять из выборки максимальный номер, пройтись посимвольно по полученной строке, попутно изменяя 2 строковые переменные: "Префикс" и "НомерЧисловой". После разбора номера строковый "НомерЧисловой" перевести в число, прибавить единицу, перевести в строку с лидирующими нулями, соединить с префиксом...
Ну или использовать "ДокументОбъект.УстановитьНовыйНомер()" |
|||
6
pushok
28.05.15
✎
09:17
|
(4) да захотел. это уже достаточная причина.
какая разница чем не устраивает? Может он лучше напишет |
|||
7
ИС-2
naïve
28.05.15
✎
09:18
|
(0) если будут писать документы несколько пользователей, то нумерация рано или поздно задвоится. Надо делать блокировку константы, если делать как в (3)
(3) можно каждый раз выполнять запрос, чтобы получить максимальный номер (только надо помнить по то, что обычно нумерация имеет периодичность 1 год) |
|||
8
Heckfy
28.05.15
✎
09:18
|
||||
9
King-SD
28.05.15
✎
09:24
|
дело в том, что у меня идёт нумерация, пример: П00000А250,,,
При типе документа - на реализацию, "А" меняется на "0",, и прибавляется единица,,, то есть получится номер П000000251,,, но потом я создаю документ с типом "На аванс", и у него должна присутствовать "А" в номере. По идее следующий документ должен быть с номером П00000А252, но он создаёт с номером П00000А251,,, так как А больше чем 0.. а мне нужно чтобы он производил операцию с поледним документом (7) |
|||
10
fisher
28.05.15
✎
09:26
|
(0) Ой не советую. Это нетривиальная задача, которую придется решать либо через блокировки, либо через зопу. В любом случае ничего хорошего.
(9) "А" у тебя должно быть частью префикса. Просто устанавливай правильный префикс при получении нового номера. |
|||
11
fisher
28.05.15
✎
09:28
|
Вообще, правильный номер должен быть ПА0000252. В противном случае, мне интересно как ты будешь выкручиваться, когда количество документов достигнет тысячи. Правильно - все делать через префиксы. Если на печать нужно чуток по-другому выводить - просто формируй номер для печати в момент печати.
|
|||
12
Drac0
28.05.15
✎
09:32
|
(11) А еще лучше хранить где-то номер для печати. Вдруг логику поменяют, а старые документы понадобится перепечатать.
|
|||
13
King-SD
28.05.15
✎
09:37
|
(11) Мне нужно именно так как я писал. в отчёты так нормально выводиться будет - А250, А если "А" будет как префикс, тогда выведется А00000250, а это не есть хорошо. Переделывать всяко придётся, но лучше уж это сделать здесь
|
|||
14
hhhh
28.05.15
✎
09:50
|
(13) но ведь правильно 250А
|
|||
15
King-SD
28.05.15
✎
09:51
|
(14) Ну я же не буду делать так как неправильно. У каждого своя учётная политика
|
|||
16
fisher
28.05.15
✎
09:52
|
(13) Читать умеешь? А думать?
Что проще: 1) рисовать свою подсистему нумерации (в чем ты разбираешься плохо, раз не осознаешь потенциальных проблем) 2) вместо А0000250 выводить на печать А250 |
|||
17
King-SD
28.05.15
✎
09:52
|
Есть идея чтобы он выбирал максимальный номер из тех, которые не сожержат "А" и к нему прибавлял 1.. Но как это грамотно оформить?
|
|||
18
VladZ
28.05.15
✎
09:54
|
(17) Зачем изобретать велосипед? Попробуй задачу "втиснуть в рамки конфигурации".
|
|||
19
King-SD
28.05.15
✎
09:55
|
(16) Мне выводить не только на печать, ещё оно в книге продаж должно правильно отображаться. А по моему формату оно всё чётко отображается. Переделывать много где придётся
|
|||
20
Масянька
28.05.15
✎
09:55
|
(17) Счет-фактура на аванс?
|
|||
21
King-SD
28.05.15
✎
09:55
|
(18) То есть???
|
|||
22
King-SD
28.05.15
✎
09:55
|
(20) Да.
|
|||
23
Масянька
28.05.15
✎
09:59
|
(22) Не городи огород. Сделай для СФ на аванс отдельный нумератор и не выноси мозг (ни себе, ни людям).
|
|||
24
King-SD
28.05.15
✎
10:01
|
(23) Я уж не настолько тугой, сделал бы если можно было отдельно. Сказали одна нумерация должна быть, Нельзя нам разные, вот и думаю сижу
|
|||
25
Масянька
28.05.15
✎
10:02
|
(24) О какое единой нумерации идет речь в (17)?
Нельзя - почему? |
|||
26
myk0lka
28.05.15
✎
10:02
|
(16) +100500
Сделать функцию для возврата номера в нужном формате и не ломать штатную систему нумерации. Проще в нескольких печатных формах поправить одну строку, чем потом разгребать косяки. |
|||
27
Вася Чез
28.05.15
✎
10:06
|
(24) хм, в типовой БП сквозная нумерация должна идти, даже если в настройках НДС префикс А поставил.
|
|||
28
Вася Чез
28.05.15
✎
10:08
|
(24) а вообще лучше не трогай типовую нумерацию, потом будут постоянно косяки всплывать, сделай как тебе в прошлой теме кто-то написал отдельный реквизит со своим номером и там твори что хочешь, эксперементируй и т.д. Если это желания бухов, то скажи чтобы шли на юх.
|
|||
29
VladZ
28.05.15
✎
10:18
|
(21) Нумерацию оставь как есть. Если бухи хотят видеть "А" в авансах - добавляй эту букву при выводе печ.формы. Это проще, чем заморачиваться с генерацией последующего номера.
|
|||
30
fisher
28.05.15
✎
10:19
|
(19) "Переделывать много где придется" = "в десятке-другом мест вставить одну строчку".
Если тебе кажется что альтернативный путь проще - что ж. Ты имеешь неотъемлемое право на собственные шишки. "Может быть через трещину в голове войдет хоть капелька ума" (с) Книга Джунглей |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |