|
Пропущенные номера документов ↓ (Волшебник 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
|
Всем, кто отвечал по сути и пытался помочь - спасибо за ответы!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |