|
сравнение при загрузке | ☑ | ||
---|---|---|---|---|
0
Kurbash
02.04.13
✎
10:47
|
Такая засада-гружу из файла Эксель лицевые счета сотрудников.
Вот код: Ексель = Новый COMОбъект("Excel.Application") ; ФайлЕксель = Ексель.Workbooks.Open(ПутьКФайлу); НаборЗаписей1=РегистрыСведений.ЛицевыеСчетаРаботниковОрганизации.СоздатьНаборЗаписей(); НаборЗаписей1.Отбор.Банк.установить(Банк); Для н = НомерСтрокиНачало По НомерСтрокиКонец Цикл ФИО = Ексель.Sheets(НомерЛиста).Cells(н,5).Value; Счет = Ексель.Sheets(НомерЛиста).Cells(н,4).Value; сп=Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(ТРег(ФИО))); Если не сп.Пустая() тогда НаборЗаписей=НаборЗаписей1.Добавить(); НаборЗаписей.Организация=Организация; НаборЗаписей.Банк=Банк; НаборЗаписей.ФизЛицо= Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(ТРег(ФИО))); НаборЗаписей.НомерЛицевогоСчета=Счет; сч=сч+1; ЭлементыФОрмы.Надпись4.Значение=сч; Иначе Сообщить(ТРег(ФИО)); Конецесли; КонецЦикла; НаборЗаписей1.Записать(); Ексель.Application.Quit(); проблема в том, что несколько сотрудников не находятся, и наименование одинаковые, один в один, например "Аникин Сергей Викторвич". Сообщает что не нашел его а в справочнике он есть. Пробелы все удалены, все нормально, что интересно, копирую строку из служебных сообщений пытаюсь в форме списка сделать отбор по ней отбор пустой, хотя строки одинаковые. Оставялю одну фамилию, находит все нормально, дело в имени получается, а где именно? В чем может быть дело? |
|||
1
Godofsin
02.04.13
✎
10:49
|
В пробелах батенька
|
|||
2
Wobland
02.04.13
✎
10:50
|
ТРег не смущает?
|
|||
3
Галахад
гуру
02.04.13
✎
10:50
|
Сравнить строки в любом сравняльщике и понять различие.
|
|||
4
hhhh
02.04.13
✎
10:51
|
ВикторОвич
|
|||
5
Галахад
гуру
02.04.13
✎
10:52
|
(4) Хо-хо!
|
|||
6
Kurbash
03.04.13
✎
07:38
|
в том то и дело что все нормально- я сравнивал...беру строку из сообщения, сравниваю с наименованием справочника-одинаковые...
|
|||
7
Wobland
03.04.13
✎
07:39
|
(6) глазами? сравни "а" и "a" - они разные
|
|||
8
Kurbash
03.04.13
✎
07:40
|
т.е.? можно подробнее?
|
|||
9
Kurbash
03.04.13
✎
07:42
|
в смысле одна "а" написана по английски другая по русски? или в кодировке дело?
|
|||
10
Kurbash
03.04.13
✎
07:46
|
Трег нужен- в экселе все буквы заглавные
|
|||
11
Галахад
гуру
03.04.13
✎
07:50
|
(6) Тебе же в (4) показали.
Нет такого отчества "Викторвич", или он серб? |
|||
12
Kurbash
03.04.13
✎
07:58
|
да это я опечатался
|
|||
13
Wobland
03.04.13
✎
08:03
|
(9) истина. ложь.
|
|||
14
Kurbash
03.04.13
✎
08:05
|
блин я понял-они часть букв набили по английски, уроды...та же буква "р" русская это английская "p". Что теперь делать то с этим? В файле екселевом менять или в 1С как можно?
|
|||
15
Kurbash
03.04.13
✎
08:05
|
(13) можноп подробнее?
|
|||
16
Wobland
03.04.13
✎
08:06
|
(14) как понял? уверен в верности вывода?
(15) одна "а" написана по английски другая по русски, дело не в кодировке |
|||
17
Jonny_Khomich
03.04.13
✎
08:07
|
(14) меняй в 1с конечно же
|
|||
18
Галахад
гуру
03.04.13
✎
08:07
|
(12) Сохрани ФИО из Экселя и из 1С в текстовые файлы.
Сравни Вордом. Но покажет в каких символах различия. |
|||
19
Kurbash
03.04.13
✎
08:10
|
(16)-просто набрал в слове СЕргей букву р по русски не нашел, набрал по английски нашел
|
|||
20
Галахад
гуру
03.04.13
✎
08:13
|
Не парься. В обработке, если не нашел по ФИО,
выводи ругательство и пусть сопоставляют вручную. |
|||
21
Cyberhawk
03.04.13
✎
08:14
|
(14) напиши обработку по типу
Если символ = "а английская" тогда символ = "а русская" и так для всех совпадающих букв |
|||
22
Kurbash
03.04.13
✎
08:18
|
пример кода есть? я просто с такие обработки с символами не писал.Я так понимаю это же нужно запускть в 1С-ке самой, запускать цикл по справочнику физлица
|
|||
23
Wobland
03.04.13
✎
08:20
|
как вариант: СтрЗаменить("a", "а"). но Галахад правее
|
|||
24
Kurbash
03.04.13
✎
08:21
|
там много не найдено, порядка 150 человек
|
|||
25
Kurbash
03.04.13
✎
08:22
|
и кстати нужно же менять не справочник физлица а регистр сведений, так?
|
|||
26
Kurbash
03.04.13
✎
08:27
|
Фамилия,имя отчетсво физлиц, так?
|
|||
27
Галахад
гуру
03.04.13
✎
08:36
|
А вообще, откуда файлик берется? Руками, что-ли набирают?
|
|||
28
Kurbash
03.04.13
✎
08:40
|
да геморой-из досевой программы дбф-ку импортировали в эксель
|
|||
29
Kurbash
03.04.13
✎
08:41
|
да уже догаладлся-тот кто руками бил ошиблись
|
|||
30
Kurbash
03.04.13
✎
08:41
|
щас сделаю
|
|||
31
Kurbash
03.04.13
✎
08:42
|
пока вот атк:
справ=Справочники.ФизическиеЛица.Выбрать(); пока справ.Следующий() цикл сп=справ.ПолучитьОбъект(); сп.Наименование=СтрЗаменить(сп.Наименование,"A","А"); сп.Наименование=СтрЗаменить(сп.Наименование,"a","а"); сп.Наименование=СтрЗаменить(сп.Наименование,"E","Е"); сп.Наименование=СтрЗаменить(сп.Наименование,"e","е"); сп.Наименование=СтрЗаменить(сп.Наименование,"O","О"); сп.Наименование=СтрЗаменить(сп.Наименование,"o","о"); сп.Наименование=СтрЗаменить(сп.Наименование,"P","Р"); сп.Наименование=СтрЗаменить(сп.Наименование,"p","р"); сп.Наименование=СтрЗаменить(сп.Наименование,"K","К"); сп.Наименование=СтрЗаменить(сп.Наименование,"k","к"); сп.Наименование=СтрЗаменить(сп.Наименование,"X","Х"); сп.Наименование=СтрЗаменить(сп.Наименование,"x","х"); сп.Наименование=СтрЗаменить(сп.Наименование,"C","С"); сп.Наименование=СтрЗаменить(сп.Наименование,"c","с"); сп.Записать(); конецЦикла; код то просто, посмотрим как поканает |
|||
32
Kurbash
03.04.13
✎
08:43
|
ну вот и все))12 штук всего не нашлось)))
|
|||
33
Wobland
03.04.13
✎
08:54
|
BHKMTuy
|
|||
34
Kurbash
04.04.13
✎
07:30
|
нет)))их просто нет))новые сотрудники)
|
|||
35
Jonny_Khomich
04.04.13
✎
07:41
|
(34) вот тот кто накосячил, пусть бы и правил.
|
|||
36
kosts
04.04.13
✎
07:45
|
(31) Не нужно было исправлять самому. Пусть ответственные напрягаются. А то в дальнейшем так же ерунду будут вносить в программу.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |