|
Найти похожие документы в базе с учетом ТЧ | ☑ | ||
---|---|---|---|---|
0
Garykom
гуру
12.01.23
✎
13:15
|
Есть задачка при создании документов проверять а нет ли уже ранее загруженных (похожих) в базе.
Никакого уникального индекса/кода к сожалению нет. Допусти ищем по реквизитам шапки: Организация, Партнер, ДатаВходящегоДокумента, НомерВходящегоДокумента Так же надо учитывать в ТЧ Расходы совпадение по строкам для реквизитов Содержание и Сумма Каким образом лучше то сделать? |
|||
1
p-soft
12.01.23
✎
13:16
|
(0) оптимально - индекс сформировать. остальное будет криво и медленно
|
|||
2
Garykom
гуру
12.01.23
✎
13:17
|
(1) Не хотелось бы
|
|||
3
p-soft
12.01.23
✎
13:17
|
(1) причем, индекс можно формировать отдельно от документа, например, выделив под него рс
|
|||
4
p-soft
12.01.23
✎
13:17
|
(3) в расширении..
|
|||
5
p-soft
12.01.23
✎
13:18
|
(2) почему не хотелось бы?
|
|||
6
Garykom
гуру
12.01.23
✎
13:18
|
(3) Хорошо как сформировать этот индекс-хеш?
|
|||
7
Ryzeman
12.01.23
✎
13:18
|
(0) выбрать по реквизитам шапки и свернуть где количество больше 1. Потом сравнить в цикле либо запросом
|
|||
8
Ryzeman
12.01.23
✎
13:19
|
(7) а, хотя не, тебе же надо при создании это делать, а не разово
|
|||
9
p-soft
12.01.23
✎
13:19
|
(6) зависит от данных. можно тупо хеш по строковой части формировать. если речь идет про строки - предварительно упорядочив их
|
|||
10
Garykom
гуру
12.01.23
✎
13:19
|
(7) ТЧ надо учитывать
|
|||
11
Ryzeman
12.01.23
✎
13:19
|
Голосую за контроль уникальности по доп реквизиту
|
|||
12
p-soft
12.01.23
✎
13:20
|
(9) или по уиду
|
|||
13
p-soft
12.01.23
✎
13:20
|
(12) т.к. наименования могут и поменять
|
|||
14
Kassern
12.01.23
✎
13:20
|
(6) Рядом же тема была про ТЧ справочника/документа)
|
|||
15
p-soft
12.01.23
✎
13:21
|
я просто это в клюшках решал на массе, других нормальных вариантов нет
|
|||
16
Kassern
12.01.23
✎
13:21
|
(0) Определите для вас ключевые поля, по которым вы определяете "схожесть", пол дела уже сделаете)
|
|||
17
PLUT
12.01.23
✎
13:22
|
(6) (10) какой-нибудь MD5 для строки "Организация+ Партнер +ДатаВходящегоДокумента +НомерВходящегоДокумента + ТЧ расходы
сцылочные типы по GUID, содержание и сумму из ТЧ выгрузить в массивы с сортировкой и тоже в строку щас выяснится что содержание в произвольном виде и нужно вхожения искать :) |
|||
18
Garykom
гуру
12.01.23
✎
13:23
|
(16) Это уже сделано
Загвоздка отбора похожих с учетом что не только реквизиты шапки но и ТЧ |
|||
19
Kassern
12.01.23
✎
13:23
|
(14) Вот эта тема сравнение ТЧ
|
|||
20
Ryzeman
12.01.23
✎
13:23
|
(17) >>щас выяснится что содержание в произвольном виде и нужно вхожения искать :)
ну вот это как раз совсем не сложно, упорядочиваешь те же GUID Но я против что бы каждый раз всё это на лету считать. При создании у новых записываешь это всё допреквизитом (или реквизитом), а при проверке нового - тебе надо вычислить этот хэш всего лишь 1 раз |
|||
21
Kassern
12.01.23
✎
13:24
|
(18) Значит не сделано, раз вы не решили, что для вас значит со схожими ТЧ)
|
|||
22
Kassern
12.01.23
✎
13:24
|
(18) Почитайте (19) там в конце есть варианты реализации
|
|||
23
PLUT
12.01.23
✎
13:25
|
(20) содержание баба маня может ручками с ашипками написать. но даже ежу понятно, что это одно и тоже
"гусь лапчатый" и "лапчатый гусъ" |
|||
24
Kassern
12.01.23
✎
13:26
|
(23) А это уже совсем другая задача и куда сложнее)
|
|||
25
Garykom
гуру
12.01.23
✎
13:26
|
(21) >со схожими ТЧ
1. Количество строк совпадает 2. Порядок строк не имеет значения 3. Колонки Содержание (строка) и Сумма (число) совпадают |
|||
26
Ryzeman
12.01.23
✎
13:26
|
(23) у него содержание ТЧ - ссылки и числа, насколько я понял.
Если когда он пишет про "похожий" - это текст, то сюда только нейросеть прикручивать разве что :-D |
|||
27
Kassern
12.01.23
✎
13:27
|
(25) Берете и создаете строку, которая включает в себя все 3 пункта и хешируете. А дальше уже по этому хешу и сравниваете
|
|||
28
Garykom
гуру
12.01.23
✎
13:27
|
(26) строка и число
для строк нечеткого поиска не надо |
|||
29
Garykom
гуру
12.01.23
✎
13:27
|
(27) В запросе как?
|
|||
30
PLUT
12.01.23
✎
13:27
|
(25) ну тады прокатит такая магия для >Колонки Содержание (строка) и Сумма (число) совпадают
содержание и сумму из ТЧ выгрузить в массивы с сортировкой и тоже в строку и вычислить хэш |
|||
31
Garykom
гуру
12.01.23
✎
13:27
|
(29)+ без предварительной функции хеширования кодом
|
|||
32
Kassern
12.01.23
✎
13:28
|
(29) Легко!
Выбрать МойРС.Док Из РегистрыСведений.МойРС ГДЕ МойРС.ХешСумма=&ХешСумма =) |
|||
33
PLUT
12.01.23
✎
13:28
|
(31) микросервис на GO!
|
|||
34
Ryzeman
12.01.23
✎
13:28
|
(31) С этим то в чём проблема?...
|
|||
35
vde69
12.01.23
✎
13:29
|
(0) учитывая, что параметры поиска строковые и числовые - в индекс не попадешь.
у меня давно работает система группировки аналитик 1. делаем справочник "аналитика", у него ТЧ с ПВХ тех характеристик которые надо искать 2. добавляем реквизит в объекты поиска (в твоем случае в строки ТЧ документа), или можно сделать РС 3. при необходимости проверки берем из документа набор характеристик и ищем по ним элементы справочника "аналитика", при необходимости - создаем. 4. далее простой запрос.... |
|||
36
Kassern
12.01.23
✎
13:29
|
(29) Если вам разово надо, то проще в цикле обойти
|
|||
37
Kassern
12.01.23
✎
13:30
|
Если лень РС создавать, то можно типовой использовать, например ДополнительныеСведения.
|
|||
38
PLUT
12.01.23
✎
13:30
|
(35) в ERP у тебя идею с3.14тырили:)
|
|||
39
Garykom
гуру
12.01.23
✎
13:31
|
(36) угу
запросом отбираю документы по реквизитам шапки далее цикл по отобранным документам для сравнения ТЧ |
|||
40
vde69
12.01.23
✎
13:31
|
(38) я пользуюсь уже 7 лет :)
|
|||
41
Garykom
гуру
12.01.23
✎
13:32
|
(39)+ но хотел все одним запросом провернуть, не получается
|
|||
42
Kassern
12.01.23
✎
13:33
|
(39) Можете еще по количеству строк и Сумме отобрать. Гораздо меньше придется обходить в цикле
|
|||
43
vde69
12.01.23
✎
13:33
|
(41) почитай про "критерии отбора" может он подойдет
|
|||
44
Kassern
12.01.23
✎
13:33
|
Наверное можно и все остальное пихнуть, но зачем, если разово надо. А если часто и на постоянке, то проще через хеш. Куда быстрее будет.
|
|||
45
Garykom
гуру
12.01.23
✎
13:35
|
(42) Можно, но не обязательно дата и номер дают хорошее ограничение
|
|||
46
mistеr
12.01.23
✎
13:39
|
Чувствую знакомый запах... попытки решить орг. проьлему тех. средствами.
|
|||
47
Kassern
12.01.23
✎
13:39
|
(45) Как вариант - создать временную таблицу с ключевыми полями для поиска в ТЧ. И уже с ней соединять таблицу строк документа с отбором по реквизитам шапки.
|
|||
48
Garykom
гуру
12.01.23
✎
13:42
|
(46) Не совсем.
Классическая ситуация когда по просьбе клиента вручную в 1С создают приход услуг чтобы создать заявку на оплату и побыстрей оплатить. А массовая загрузка документов прихода услуг из другой системы будет позже. И будет включать и созданный вручную |
|||
49
Garykom
гуру
12.01.23
✎
13:42
|
(48) *по просьбе поставщика
|
|||
50
Kassern
12.01.23
✎
13:45
|
(49) Есть номер входящего документа и дата входящего документа. По ним и синхронизируйте. То что введено вручную, должно иметь эту связку
|
|||
51
Garykom
гуру
12.01.23
✎
13:47
|
(50) Недостаточно
По одному поставщику в один день может быть несколько документов с разными содержимым в ТЧ |
|||
52
Garykom
гуру
12.01.23
✎
13:48
|
(51)+ и оба "Б\Н"
|
|||
53
Kassern
12.01.23
✎
13:54
|
(51) А как вы банк сводите?) Если несколько документов за один день, то у каждого будет свой уникальный номер поставщика.
|
|||
54
Kassern
12.01.23
✎
13:54
|
Отбор будет по поставщику,дате,номеру
|
|||
55
PLUT
12.01.23
✎
14:00
|
(52) ну и качестве прикола поставщик будет присылать документы с разным содержимым в ТЧ (т.к. концепция поменялась, три документа объединили в два, один перенесли на другой период и все "б/н"
|
|||
56
Garykom
гуру
12.01.23
✎
14:10
|
интересно https://infostart.ru/public/326983/
|
|||
57
Garykom
гуру
12.01.23
✎
14:10
|
(53) Это не банк, а документы от поставщиков услуг
|
|||
58
Garykom
гуру
12.01.23
✎
14:11
|
(55) Если такая ситуация выявится то критерии поиска будут исправлены
|
|||
59
mistеr
12.01.23
✎
14:48
|
(48) Если фейковый приход услуг нужен только для оплаты (что само по себе странно пахнет), то после создания оплаты помечай его на удаление. Массовая загрузка загрузит его и проведет, все довольны.
|
|||
60
Garykom
гуру
12.01.23
✎
15:14
|
(59) Он не фейковый а вручную созданный вместо загрузки
Еще могут быть сбои при загрузке, например дважды тоже самое или произошел вылет при загрузке и недогрузилось Повторно запускают надо чтобы нашел что уже создано и не делал дубли |
|||
61
PLUT
12.01.23
✎
15:19
|
(60) а зачем вручную создавать? для резервов товаров штоле? виртуальный приход?
|
|||
62
mistеr
12.01.23
✎
15:20
|
(60) Как все запущено.
Ну если повторные загрузки это штатная ситуация, обеспечь какой-то ключ для сопоставления. Вот не верю, что поставщик присылает *документы* без идентифицирующих реквизитов. |
|||
63
PLUT
12.01.23
✎
15:20
|
ну и вручную созданное содержание в ТЧ с большой вероятностью может не совпасть с содержанием от поставщика (регистр, пробелы, ачепятки)
|
|||
64
Garykom
гуру
12.01.23
✎
15:22
|
(63) может
но это уже другая задачка |
|||
65
Garykom
гуру
12.01.23
✎
15:23
|
(62) до этого этапа еще не дошли
даже поиск дублей мое предложение, в ТЗ нет |
|||
66
PLUT
12.01.23
✎
15:23
|
(62) для оплаты же достаточно заявку на расходование ДС. взаимозачетами потом можно сальдо с бульдой свести между реальным поступлением и оплатой
|
|||
67
PLUT
12.01.23
✎
15:24
|
(65) > до этого этапа еще не дошли
- жена! неси тазик... - концепция поменялась, я обо.срался |
|||
68
Garykom
гуру
12.01.23
✎
15:25
|
(67) это будни нового внедрения и работы на проектах
|
|||
69
Garykom
гуру
12.01.23
✎
15:29
|
В данном конкретном случае интересовало как только одним запросом найти "похожие" с учетом ТЧ документы
Ну там отобрать доки по шапке и соединить каким то местом с отобранными строками ТЧ |
|||
70
PLUT
12.01.23
✎
15:33
|
(60) а количество документов какое при загрузке?
в таком случае нужно через промежуточную форму грузить - оператор глазками смотрит расхождения/коллизии и ручками подбирает нужный вручной документ в случае непонятной ситуёвины ну т.е. для 100 документов при загрузке 10 сопоставилось, с остальными что делать? считать, что новые от поставщика? ну и сбоку список вручных документов несопоставленных должен болтаться, чтобы оператор баба Шура призадумалась и постаралась сопоставить существо разумное должно быть разумнее автоматической загрузки |
|||
71
Garykom
гуру
12.01.23
✎
16:09
|
(70) нафик-нафик сопоставление при загрузке еще делать
достаточно вывода в отчет/лог и отмены загрузки полностью |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |