| 
    
            
         
         | 
    
    
  | 
Пропуски номеров | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Dimon1C    
     02.02.16 
            ✎
    08:45 
 | 
         
        Добрый день, использую разные префиксы для документа Реализация, в зависимости от галки Отражать в бух учете. Так как пользователи бывает сначала галку поставят, а потом уберут, то происходят пропуски  номеров.
 
        Например: 1. Пользователь установил галку Отражать в бух учете, номер присвоился Б000001. 2. Пользователи ошибся и убрал галку Отражать в бух учете, номер присвоился У000001. 3. Новая Реализация (с галкой Бух) уже будет иметь номер Б000002. Получается пропустили номер Б000001. Что можете посоветовать?  | 
|||
| 
    1
    
        Рэйв    
     02.02.16 
            ✎
    08:48 
 | 
         
        дурацкая идея с префиксами если они могут туда сюда галку гонять. Сделай колонку для признака БУ и пусть радуются     
         | 
|||
| 
    2
    
        Dimon1C    
     02.02.16 
            ✎
    08:56 
 | 
         
        (1) Не понял про колонку...     
         | 
|||
| 
    3
    
        zak555    
     02.02.16 
            ✎
    08:57 
 | 
         
        что за конфигурация ?     
         | 
|||
| 
    4
    
        Dimon1C    
     02.02.16 
            ✎
    09:07 
 | 
         
        КА 1.1     
         | 
|||
| 
    5
    
        zak555    
     02.02.16 
            ✎
    09:09 
 | 
         
        а не проще чурнуху на отдельной "организации" держать ?     
         | 
|||
| 
    6
    
        Dimon1C    
     02.02.16 
            ✎
    09:33 
 | 
         
        (5) Так руководству удобней, уже ведем как есть. 
 
        Получается вариант только один, свою нумерацию колбасить, искать пропуски программно?  | 
|||
| 
    7
    
        vde69    
     02.02.16 
            ✎
    09:38 
 | 
         
        зачем нужна сквозная нумерация???
 
        и что делать если нужно сделать документы задним числом??? я себе сделал авто пропуск 5 номеров каждый день, при смене даты программа размещается в этом пропуске  | 
|||
| 
    8
    
        zak555    
     02.02.16 
            ✎
    09:40 
 | 
         
        (6) в смысле удобнее ?
 
        какой смысл колбасить конфигурацию, если можно всё решить простым выделением чернухи на "отдельный баланс" ?  | 
|||
| 
    9
    
        vde69    
     02.02.16 
            ✎
    09:40 
 | 
         
        Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
 
        Если ЭтоНовый() и (НачалоДня(ТекущаяДата()) = НачалоДня(Дата)) Тогда Номер = ПолныеПрава.ПолучитьНовыйНомерДокумента ("СчетНаОплату", ПИ.ТекущийПользователь(), 10); ИначеЕсли (Дата <> Ссылка.Дата) Тогда Режим = РежимДиалогаВопрос.ОКОтмена; Ответ = Вопрос("Изменена дата счета, попробовать изменить номер?", Режим, 0); Если Не Ответ = КодВозвратаДиалога.ОК Тогда Если Не ПараметрыСеанса.ЭтоАдминистраторБазы Тогда Отказ = Истина; КонецЕсли; Возврат; КонецЕсли; Если (НачалоДня(ТекущаяДата()) = НачалоДня(Дата)) Тогда Номер = ПолныеПрава.ПолучитьНовыйНомерДокумента ("СчетНаОплату", ПИ.ТекущийПользователь(), 10); Иначе Номер = ПолныеПрава.НайтиНомерДокументаВСквознойНумерации ("СчетНаОплату", ПИ.ТекущийПользователь(), Дата); КонецЕсли; Если не ЗначениеЗаполнено(Номер) Тогда Предупреждение("Не удалось установить номер документа"); Отказ = Истина; Возврат; КонецЕсли; КонецЕсли; КонецПроцедуры; //------------------------------------- Функция ПолучитьНовыйНомерДокумента (ИмяТаблицы, Ответственный, ИнкрементНовогоДня = 1) Экспорт Запрос = Новый Запрос ( "ВЫБРАТЬ ПЕРВЫЕ 1 | СчетНаОплату.Номер |ПОМЕСТИТЬ ПоследнийНомер |ИЗ | Документ."+ИмяТаблицы+" КАК СчетНаОплату |ГДЕ | ГОД(СчетНаОплату.Дата) = &Год | |УПОРЯДОЧИТЬ ПО | СчетНаОплату.Номер УБЫВ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ ПЕРВЫЕ 1 | СчетНаОплату.Ссылка |ПОМЕСТИТЬ ТекущиеСчета |ИЗ | Документ."+ИмяТаблицы+" КАК СчетНаОплату |ГДЕ | СчетНаОплату.Дата >= &Дата |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПоследнийНомер.Номер, | ВЫБОР | КОГДА ТекущиеСчета.Ссылка ЕСТЬ NULL | ТОГДА "+ИнкрементНовогоДня+" | ИНАЧЕ 1 | КОНЕЦ КАК Инкремент, | ТекущиеСчета.Ссылка |ИЗ | ПоследнийНомер КАК ПоследнийНомер | ПОЛНОЕ СОЕДИНЕНИЕ ТекущиеСчета КАК ТекущиеСчета | ПО (ИСТИНА)"); Запрос.УстановитьПараметр("Дата", НачалоДня(ТекущаяДата())); Запрос.УстановитьПараметр("Год", Год(ТекущаяДата())); мНомер = "00000000000"; мИнкр = 1; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл мНомер = Выборка.Номер; мИнкр = Выборка.Инкремент; КонецЦикла; НовыйНомер = ""; д = СтрДлина(мНомер); Для е = 1 по д Цикл мКод = КодСимвола(мНомер, е); Если (мКод >= 48) и (мКод <= 57) Тогда НовыйНомер = НовыйНомер + Символ(мКод); Иначе Прервать; КонецЕсли; КонецЦикла; НовыйНомер = Число(НовыйНомер) + мИнкр; НовыйНомер = Формат(НовыйНомер, "ЧГ=0"); НовыйНомер = Прав("00000000000000" + НовыйНомер + СокрЛП(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(Ответственный, "Нумератор")), 12); Возврат НовыйНомер; КонецФункции  | 
|||
| 
    10
    
        Dimon1C    
     02.02.16 
            ✎
    10:12 
 | 
         
        (8) Как минимум остатки полетят у этой организации, так как используется один склад.     
         | 
|||
| 
    11
    
        zak555    
     02.02.16 
            ✎
    10:15 
 | 
         
        (10) склад единый, без разделния по юрикам     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |