Имя: Пароль:
1C
1С v8
При переходе на sql перестал работать поиск в справочнике по наименованию.
0 AlexHorsse
 
20.01.19
13:21
Приветствую, коллеги!
Перевёл Бухгалтерию 3.0 на клиент-серверный вариант, SQL 64x 2016. Месяц работы, полёт нормальный. И тут надо было воспользоваться своей древней обработочкой на управляемых формах для загрузки из Excell данных в документы поступления. Мелкие файлы по 100-150 наименований пролетают на ура, файлы по 1000 и более строк - процента 2-3 не находит товар в справочнике Номенклатура по наименованию (согласен, не самый лучший способ искать по наименованию, но других данных товара типа кода или артикула контрагент предоставить не может). Глядел отладчиком по конкретному наименованию - не находит. Тут же забиваю строку в поиск справочника - всё находит. Случайно для теста решил воспользоваться файловой БД - всё работает. И целиком файл проглатывает, и по отдельной строке, которую sql версия не находила программно тоже.

Поиск простейший:
        НайденнаяСсылка  = Спр.НайтиПоНаименованию(Наименование);

И так пробовал:
        НайденнаяСсылка  = Спр.НайтиПоНаименованию(Наименование,Истина);


И в запросе пробовал, не отдаёт в sql некоторые товары.
Что это за хрень, господа? Есть идеи? Я всю голову сломал...

Причем, если перезабить в клиент-серверной версии наименование из файла - сразу находит. По началу думал, что чем то прошлись по справочнику и или пробел добавили и табуляции, дык в файловой то работает поиск...

Help, моя в недоумении...
1 palsergeich
 
20.01.19
13:23
Посмотри нет ли оконечных пробелов в наименовании там, где не находит
2 AlexHorsse
 
20.01.19
13:33
(1) В некоторых есть, в некоторых нет. И  СокрЛП пробовал. И неточное соотвествие побовал. Да и какая разница - в файловой то работает и так, с пробелами?
3 hhhh
 
20.01.19
13:35
(2) В файловой и sql - это две большие разницы. На файловую вообще не смотри.

Верхний и нижний регистр проверял? Регистр совпадает?
4 AlexHorsse
 
20.01.19
13:41
(3) Совпадает. Это вообще строки взятые из нашей же БД, в точности. Почему не смотреть? Данные одни и те же, код одинаковый. Единственное деректива #НаСервере выполняется в sql реально на сервере. Так в чем прикол?...
5 hhhh
 
20.01.19
13:43
В файловой и в sql все разное. И сортировка разная и поиск. Всё другое.
6 Джинн
 
20.01.19
13:46
(4) А Вы в Ворде еще посмотрите и сравните его с клиент-серверной версией 1с. Никакой же разницы нет.
7 Василий Алибабаевич
 
20.01.19
13:49
(4) Слетели индексы.
Нужно восстановить индекс полнотекствого поиска если используется. Ну и в режиме ТИИ выполнить переиндексацию.
8 palsergeich
 
20.01.19
13:51
(7) Игдекс полнотекстового поиска не используется пр НайтиПоНаименованию
9 AlexHorsse
 
20.01.19
14:05
(7) Спасибо. Попробую. Кэш почищу пожалуй ещё серверный.
10 ДенисЧ
 
20.01.19
14:20
(4) Попробуй профайлером поймать запрос к скулю на том элементе, что не находится. Посмотри на запрос, попробуй его руками выполнить.
11 AlexHorsse
 
20.01.19
15:02
(5) Согласен. Но язык программирования то один. Как ещё можно организовать поиск на клиент-серверном варианте, кроме как запросом или по объекту типа справочник? Подход то к этому элементарному действию тоже один. Нет, можно, конечно, писать запрос напрямую к sql базе, но зачем тогда вообще 1с?..
12 Йохохо
 
20.01.19
15:05
спецсимволы мб какие
13 ДенисЧ
 
20.01.19
15:06
(11) ты сначала (10) сделай, потом на зеркало пенять будешь
14 AlexHorsse
 
20.01.19
15:22
(13) Я, если честно, не понимаю, как это сделать.
15 AlexHorsse
 
20.01.19
15:33
(7) Ничего не помогло.
Хрен знает, что делать...
16 AlexHorsse
 
20.01.19
15:34
Нет, я ещё понимаю, еслиб ничего не искалось, но тут же 98% элементов находится. А в файловой все 100, значит в реквизите Наименование значение содержится верное...
17 hhhh
 
20.01.19
16:13
(16) ну давайте уже примеры этих наименований. Чего вы тянете?
18 AlexHorsse
 
20.01.19
16:17
(17) Вы считаете в строке наименования может быть дело?
Вот несколько:

ПРОКЛАДКА ГБЦ FIAT DOBLO (01-05), PALIO (96-09)
ПРОКЛАДКА ГБЦ FORD  FOCUS II (05-08), TRANSIT (06-…)
РОКЛАДКА ГБЦ HYUNDAI SANTA FE (SM) (00-12), SONATA IV (EF) (98-01)
ПРОКЛАДКА ГБЦ OPEL ASTRA G (98-05), CORSA B (93-00)
РЕМКОМПЛЕКТ СУППОРТА ТОРМОЗНОГО ЗАДНЕГО HONDA MR-V EXL 5AT(08 -) ODYSSEY EXL 5AT(04-)
РЕМКОМПЛЕКТ СУППОРТА ТОРМОЗНОГО ЗАДНЕГО NISSAN G35 SEDAN V36 (06-13) INFINITI M35 Y50 (06-10)
19 AlexHorsse
 
20.01.19
16:18
(10) Пожалуйста, можно подробней что нужно сделать и для чего? Заранее спасибо за ответ.
20 oslokot
 
20.01.19
16:23
(0) чем читаете файл? через эксель или через табличный док?

может на сервере кривой эксель?
21 hhhh
 
20.01.19
16:24
(19)  скорее всего эксели разные у вас на этих двух компах. Попробуйте в процедуре на клиенте грузить
22 AlexHorsse
 
20.01.19
16:26
(20) ADODB. Да я уже где только не читал.
(21) Комп один. rdp. Всё делается на сервере.
23 oslokot
 
20.01.19
16:29
(22) [Всё делается на сервере.]
1с сервер и сервер рдп физически на одной машине?
24 AlexHorsse
 
20.01.19
16:30
(23) Да.
25 hhhh
 
20.01.19
16:33
Ну сравните в отладчика эти две строки, наименование и то, что загружено из Эксель, прямо посимвольно. Это же легко, задача для первого класса, чего так тушуетесь? Задача-то элементарная.
26 hhhh
 
20.01.19
16:37
Выберите только где наименование по короче. А то там по 70 символов у вас, замучаетесь сравнивать. Лучше КодСимвола() смотреть, чтобы сразу увидеть разницу.
27 AlexHorsse
 
20.01.19
16:37
(25) Ну хорошо, сравню. Вне зависимости от результата - почему на файловой базе находит? Даже если они разные будут - на файловой базе как находит?
28 hhhh
 
20.01.19
16:44
Объяснили ведь, в файловой все по-другому.Что вы себе вбилив голову, что должно совпадать. Наоборот, удивительно, что увас целых 98% совпало.
29 Cyberhawk
 
20.01.19
16:47
Казалось бы, в чем проблема, имея устойчивый способ воспроизведения, сравнить
30 AlexHorsse
 
20.01.19
16:52
(28) Честно, не пойму. Когда переводим базу из файлового в клиент серверный - меняются символьные значения строковых реквизитов?
31 oslokot
 
20.01.19
16:56
возможно в наименованиях встречаются запрещенные символы которые надо экранировать
32 AlexHorsse
 
20.01.19
17:00
Попробую чуть позже сравнить посимвольно.
33 Йохохо
 
20.01.19
17:01
(32) просто скопируй из 18 поста