Имя: Пароль:
1C
1С v8
НайтиПоНомеру - не находит документ, а он есть...
0 zenik
 
07.06.13
13:44
Камрады, подскажите в чем трабла: пишу обработку по переносу данных из клюшек в Бухию КОРП 2.0 по ОЛЕ. Номера документов беру из 7.7 (номер короче - 10 знаков против 11 в восьмерке). Документ ПриходныйКассовыйОрдер - без проблем, НайтиПоНомеру - его всегда находит. А вот РасходныйКассовыйОрдер - фиг. уже попробовал банально:

Док = Документы.РасходныйКассовыйОрдер;
Сообщить(Док.НайтиПоНомеру("АРО1-00524",Дата(2013,4,1)));
   
Док = Документы.ПриходныйКассовыйОрдер;
Сообщить(Док.НайтиПоНомеру("ТПО1-01282",Дата(2013,4,1)));

Приходный есть, расходного нет :( Документ с таким номером есть 100%, дата правильная. В обработке по переносу, при записи ругается, что номер не уникальный, а не находит никак. Нипанима :(

Настройки нумерации у обоих видов документов посмотрел - вроде одинаковые.
1 shuhard
 
07.06.13
13:45
(0)[ Документ с таким номером есть 100%,]
не верю
2 Волшебник
 
07.06.13
13:46
Вот эта конструкция неверная:
Дата(2013,4,1)
3 Волшебник
 
07.06.13
13:46
Правильно так:
'2013-04-01'
4 rbcvg
 
07.06.13
13:47
"Документ с таким номером есть 100%, дата правильная" - тупая машина не понимает человека, который умнее нее.
5 acsent
 
07.06.13
13:48
(2) ты не прав
6 mikecool
 
07.06.13
13:49
(2) нормальная конструкция
7 Godofsin
 
07.06.13
13:49
(2) Чой-то неправильная?
8 Defender aka LINN
 
07.06.13
13:49
(2) Сообщить(Дата(2013,4,1)) сообщает "01.04.2013 0:00:00"
9 Maxus43
 
07.06.13
13:51
Если номер строка - то и пробелы незначащие надо бы тоже
10 Бледно Золотистый
 
07.06.13
13:52
Если я правильно понял, то в 8-ке 1 пробел добавляется.
11 Godofsin
 
07.06.13
13:53
я тоже за проверку корректности искомого номера
12 vova1122
 
07.06.13
13:54
А где сам автор? Наверное уже все исправил и все работает....
13 zenik
 
07.06.13
13:54
(1) http://s019.radikal.ru/i609/1306/c8/1a77803dc3eb.png
(2) Почему для приходного это работает? Тем паче этот код только для проверки, обработка по переносу берет оригинальную дату документа.
14 zenik
 
07.06.13
13:55
(12) да здесь я, за вами не угонишься :)
15 zenik
 
07.06.13
13:56
(9) я пробовал пробелы добавлять - все равно, ПКО ищет, РКО нет. Я не понимаю почему разница в результатах.
16 zenik
 
07.06.13
14:00
Док = Документы.РасходныйКассовыйОрдер;
Сообщить(Док.НайтиПоНомеру("АРО1-00524 ",Дата(2013,4,1)));
   
Док = Документы.ПриходныйКассовыйОрдер;
Сообщить(Док.НайтиПоНомеру("ТПО1-01282 ",Дата(2013,4,1)));

Вот так, результат тот же. РКО - не находит, ПКО - находит.

Если просто создаю РКО и номер ему присвает система - то по этому номеру находит...
17 vova1122
 
07.06.13
14:02
(16) Проверь номер РКО . Может там латинские символі
18 vova1122
 
07.06.13
14:03
+(17) а в твоем поиске кирилица (или наоборот)
19 zenik
 
07.06.13
14:05
Номер - копипаста...
20 rbcvg
 
07.06.13
14:06
а если без "Дата(2013,4,1)" попробовать
21 НЕА123
 
07.06.13
14:07
хз. может запросом попробовать?
22 zladenuw
 
07.06.13
14:09
(19) сделай проще выведи эту ссылку в реквизит, через реквизит найди этот документ по номеру и дате. и сообщи номер и дату. а то бубен тебе подарить надо :)
23 vova1122
 
07.06.13
14:09
(21) "из пушки по воробях"?
24 zenik
 
07.06.13
14:09
(20) Тогда ничего не находит... ни тот ни другой...
(21) Ушел пробовать
25 vova1122
 
07.06.13
14:12
стоп. а разве там не нужно
26 vova1122
 
07.06.13
14:12
док новый док.такой-то....
27 rinatru
 
07.06.13
14:14
есть разница ТПО1-01282 и ТПО1-01 282

ты не пробел ищи, а неразрывный пробел, т.е. Символ.НПП
СтрЗаменить(МойНомер,Символы.НПП,"")
28 zenik
 
07.06.13
14:25
(21) Запросом почему то так же...
(27) Еще раз: обработка ОЛЕ, при первом запуске создала документы с теми номерами которые там есть (неразрывных пробелов там точно нет - редактирование номеров не доступно). Повторный запуск должен приводить к поиску тех же самых номеров. В случае с ПКО - так и есть, все номера выискиваются нормально, без каких либо проблем, обработано порядка 13000 документов. А вот с РКО что то странное.
29 zladenuw
 
07.06.13
14:26
(28) сделай так в (22)
30 1Сергей
 
07.06.13
14:27
(22) +1 искать по номеру надо лишь при импорте. Больше не могу придумать, где эта функция может понадобиться
31 zenik
 
07.06.13
14:30
(29) В оригинальной обработке поиск выглядит так:

ПКО = Документы.ПриходныйКассовыйОрдер;
Результат = ПКО.НайтиПоНомеру(ОЛЕДокумент.НомерДок, ОЛЕДокумент.ДатаДок);

РКО = Документы.РасходныйКассовыйОрдер;
Результат = РКО.НайтиПоНомеру(ОЛЕДокумент.НомерДок, ОЛЕДокумент.ДатаДок);

Что сделать в 22, я не понял...

(30) Оп, у нас озарение :) Это как бы и есть импорт...
32 1Сергей
 
07.06.13
14:35
Кстати, СокрЛП предлагали уже?
33 zenik
 
07.06.13
14:38
(32) Да я уже что только не пробовал.

Если оно должно работать, то пусть работает у всех документов, если не должно, то почему работает выборочно?
Спасет ли отца русской демократии добивка 0 до полных 11 символов в номере?
34 1Сергей
 
07.06.13
14:42
(33) спасёт
35 dva1c
 
07.06.13
14:43
(33) Спасет.
36 zenik
 
07.06.13
14:48
(34),(35) А вот фиг :) Я понимаю, что звучит как бред, но уже сам тихо хренею.
37 1Сергей
 
07.06.13
14:48
(36) покажи как пробелы добавлял
38 zenik
 
07.06.13
14:53
(37) Нули добавлял... Самым простым способом. Первый проход документы создались, а вот искать уже не хочет :(
НомерДок = ОЛЕДокумент.НомерДок + "0";
39 dva1c
 
07.06.13
14:56
(38) В (37) вопрос про пробелы, а ты пишешь "0". Я чего-то не догоняю?
40 zenik
 
07.06.13
15:08
(39) - (33) перечитай. Я и писал про 0... Зачем (37) про пробелы спрашивает - не ко мне вопрос. Про пробелы выше уже решили - не спасает.
41 John83
 
07.06.13
15:35
попробуй в самой БП найти по номеру
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой