Имя: Пароль:
1C
1С v8
Русские буквы в артикуле номенклатуры
0 Never
 
05.12.18
08:24
Как можно осуществить поиск русских букв в артикуле номенклатуры? Артикул в номенклатуру заполняется копированием из файла Excel
1 Галахад
 
гуру
05.12.18
08:28
(0) А зачем их искать?
2 Never
 
05.12.18
08:43
(1) бывает такое что при поиске изделия по артикулу не находит его из за того что в артикуле какая то из букв русская
3 catena
 
05.12.18
08:45
Глобальный контекст (Global context)
СтрНайти (StrFind)
Синтаксис:

СтрНайти(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>)
4 Дмитрий
 
05.12.18
08:52
если только цифры и англ. буквы - артикулы в разных кодировках будут совпадать. можно от этого плясать
5 Повелитель
 
05.12.18
08:58
(0)
Функция переводит русские буквы в анг. Процедура взята с просторов интернета, работает у меня в базе много лет.

Функция Транслит(srtRusWord)
    strRUS = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
    strENG = "A///B///V///G///D///E///YO//ZH//Z///I///Y///K///L///M///N///O///P///R///S///T///U///F///KH//TS//CH//SH//SHCH'///Y///////E///YU//JA//";
    strResult = "";
    Для i = 1 по СтрДлина(srtRusWord) Цикл
        s = Сред(srtRusWord, i,1);
        s=(s);
        k = Найти(strRUS, s);
        Если k = 0 тогда
            strResult = strResult + s;
        Иначе
            strResult = strResult + СтрЗаменить(Сред(strENG, (k - 1) * 4 + 1, 4), "/", "");
        КонецЕсли
    КонецЦикла ;
    
    srtRusWord = strResult;
    strResult = "";
    Для i = 1 по СтрДлина(srtRusWord) Цикл
        s = Сред(srtRusWord, i,1);
        //s=нРег(s);
        k = Найти(нРег(strRUS), нРег(s));
        Если k = 0 тогда
            strResult = strResult + s;
        Иначе
            strResult = strResult + нРег(СтрЗаменить(Сред(strENG, (k - 1) * 4 + 1, 4), "/", ""));
        КонецЕсли
    КонецЦикла ;
    
    Возврат strResult;
КонецФункции
6 НЕА123
 
05.12.18
08:58
в запросе как-то так
like "%[А-Я]%"
7 Serg_1960
 
05.12.18
09:04
(2) "бывает такое что..." - что бы ничего такого не было - одноразовое выполнение обработки по поиску и замены русских букв в артикуле и фильтр при копировании артикула из из файла Excel.
8 Serg_1960
 
05.12.18
09:08
(5) Имхо, скорее всего у автора проблема с русскими/английскими буквами типа "А","В","Е" и им подобными.
9 Повелитель
 
05.12.18
09:09
(8) Данная процедура решит этот вопрос, если ее чуть-чуть подредактировать, оставив "А","В","Е" ...
10 Сияющий в темноте
 
05.12.18
09:34
еще иногда русское з вместо тройки пишут,ексель то все стерпит
11 JeHer
 
05.12.18
09:41
(0)+(7) А что, если в экселе правильное написание некоторых артикулов с латиницей? Поставщик, к примеру, так захотел.
12 Serg_1960
 
05.12.18
09:57
(11) Там, в Excel-е, что хотят - то пусть и пишут - со своим уставом в чужой монастырь не ходят. Я понимаю что Вы хотите сказать, но автор про это ничего не говорил. Если в базе есть функционал поддержки номенклатуры поставщика - то не сложно реализовать два артикула (внутренний и внешний).