| 
    
        
     
     | 
    
  | 
        Пропущенные номера документов     ↓ (Волшебник 22.07.2024 15:24)  | 
☑ | ||
|---|---|---|---|---|
| 
    0
    
        Despierto    
     22.07.24 
            ✎
    13:45 
 | 
         
        Всем хорошего дня и отличного настроения!
 
        Подскажите как найти пропущенные номера документов ЧекККМ?  | 
|||
| 
    1
    
        Волшебник    
     22.07.24 
            ✎
    13:46 
 | 
         
        Запросом в цикле     
         | 
|||
| 
    3
    
        Ногаминебить    
     22.07.24 
            ✎
    13:55 
 | 
         
        Сделать виртуальную таблицу из всех номеров и соединить ее с таблицей имеющихся. И через естьнулл отобрать несовпавшие.     
         | 
|||
| 
    4
    
        Despierto    
     22.07.24 
            ✎
    14:10 
 | 
         
        (3) А как сделать виртуальную таблицу из всех номеров?     
         | 
|||
| 
    5
    
        Волшебник    
     22.07.24 
            ✎
    14:24 
 | 
         
        (0) Что Вы будете делать с этими пропущенными номерами дальше?     
         | 
|||
| 
    6
    
        Ногаминебить    
     22.07.24 
            ✎
    14:29 
 | 
         
        (4) Ну к примеру тот же автономерзаписи. И еще преобразовать номера чеков ккм к числам. Там же лидирующие нули надо прибить. Никто не будет разжевывать задачу вплоть до кода, да и сама задача простая, многократно в интернетах разжеванная. Яндекс подскажет.     
         | 
|||
| 
    7
    
        vde69    
     22.07.24 
            ✎
    14:32 
 | 
         
        (0) что считать пропуском?
 
        если номер это число - то довольно просто, а вот если номер строка, да еще переменной длины, то без четкого алгоритма "правильной" нумерации задачу не решить  | 
|||
| 
    8
    
        maxab72    
     22.07.24 
            ✎
    14:49 
 | 
         
        Можно одним запросом.
 
        1. делаем таблицу всех номеров из документов, 2. Присоединяем к ней ее же про правилу ПО Таб2.Номер < Таб1.Номер 3. Ищем максимальные номера Таб2.Номер 4. Определяем разницу между Таб1.Номер и Таб2.Номер 5. Где разница больше 1, там столько номеров и пропущено.  | 
|||
| 
    9
    
        Serg_1960    
     22.07.24 
            ✎
    15:00 
 | 
         
        Всё гораздо проще :)
 
        Сгенерировать последовательность номеров в пространстве нумерации нужного вида документов и объединить с фактическими номерами документов в БД.  | 
|||
| 
    10
    
        Волшебник    
     22.07.24 
            ✎
    15:04 
 | 
         
        (9) Точно объединить? Может вычесть одно множество из другого?
 
        И не проще ли (1) ? Поставил на ночь, нашёл все номера. Дальше делай что хочешь...  | 
|||
| 
    11
    
        vde69    
     22.07.24 
            ✎
    15:11 
 | 
         
        для реализации нужно 2 функции
 
        1. правильная сортировка (которая сортирует номера по возврастанию), но тут сложность - мы не знаем, что именно имеет в виду автор 2. процедура определения разницы двух номеров далее все просто сортируем существующие и определяем разницу между текущим и следующим номером, если больше 1 то есть пропуски  | 
|||
| 
    12
    
        Волшебник    
     22.07.24 
            ✎
    15:20 
 | 
         
        (11) >> но тут сложность - мы не знаем, что именно имеет в виду автор
 
        Это ещё полбеды. Главная беда в том, что автор сам не знает, что он хочет.  | 
|||
| 
    13
    
        Garykom    
     гуру 
    22.07.24 
            ✎
    15:24 
 | 
         
        (0) Оптимальней всего методом деления пополам
 
        wiki:Метод_бисекции "ПоследнийНомерВБлоке" - "ПервыйНомерВБлоке" = "КоличествоНомеровВБлоке?  | 
|||
| 
    14
    
        АгентБезопасной Нацио    
     22.07.24 
            ✎
    15:25 
 | 
         
        (13) и зачем ему пол-номера?     
         | 
|||
| 
    15
    
        maxab72    
     22.07.24 
            ✎
    15:26 
 | 
         
        "автор сам не знает, что он хочет." автор хочет, чтоб было красиво.
 
        Работал я в прошлом тысячелетии в одной фирме. И там был старенький сервер, который уже тянул еле-еле. Мы с местным сисадмином написали заявку на выделение денег на новый хороший сервер. Пришел главный шеф к нам в серверную, глянул на сервер и заявил: "Разумеется он будет плохо работать. Вон какой обшарпанный и некрасивый". И поставил нам задачу его срочно перекрасить, даже денег выделил на пару аэрозольных баллончиков... После этого я оттуда ушел.  | 
|||
| 
    16
    
        El_Duke    
     гуру 
    22.07.24 
            ✎
    15:26 
 | 
         
        (7) Срезал автора на взлете     
         | 
|||
| 
    17
    
        maxab72    
     22.07.24 
            ✎
    15:28 
 | 
         
        (16) У чеков ККМ? Там число генерится.     
         | 
|||
| 
    18
    
        Волшебник    
     22.07.24 
            ✎
    15:29 
 | 
         
        (15) Ну вы и фантазёр... Прикольную хохму придумали!     
         | 
|||
| 
    19
    
        Despierto    
     22.07.24 
            ✎
    15:29 
 | 
         
        (5) Если есть пропущенные номера НомерЧекаККМ, значит эти чеки были пробиты, но в 1С эта информация не дошла. То есть в базе есть чеки, которые числятся непробитыми, а на ККМ они пробиты. Это я и хочу исправлять.     
         | 
|||
| 
    20
    
        Волшебник    
     22.07.24 
            ✎
    15:30 
 | 
         
        (19) Вам уже накидали решений. Можете приступать к выполнению работы.     
         | 
|||
| 
    21
    
        maxab72    
     22.07.24 
            ✎
    15:31 
 | 
         
        (18) К сожалению, это правда. Фирма называлась "Штампакс". Занималась производственными услугами сторонним организациям на базе штамповочного оборудования одного вертолетного завода.     
         | 
|||
| 
    23
    
        Волшебник    
     22.07.24 
            ✎
    15:32 
 | 
         
        (21) Ой, перестаньте....     
         | 
|||
| 
    24
    
        Despierto    
     22.07.24 
            ✎
    15:32 
 | 
         
        (7) Пример пропуска:
 
        131001 131002 131004 Номер - это число  | 
|||
| 
    25
    
        El_Duke    
     гуру 
    22.07.24 
            ✎
    15:33 
 | 
         
        (19) Лучше не лезь
 
        Знаешь старую мудрость прогов и сисадминов ? "Не трожь технику и она тебе не подведет !!!"  | 
|||
| 
    26
    
        Despierto    
     22.07.24 
            ✎
    15:52 
 | 
         
        Всем, кто отвечал по сути и пытался помочь - спасибо за ответы!     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |