|   |   | 
| 
 | Как написать функцию, при которой НомерДокумента = НомерПредыдущегоДокумента + 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 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) "Переделывать много где придется" = "в десятке-другом мест вставить одну строчку". 
 Если тебе кажется что альтернативный путь проще - что ж. Ты имеешь неотъемлемое право на собственные шишки. "Может быть через трещину в голове войдет хоть капелька ума" (с) Книга Джунглей | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |