Имя: Пароль:
1C
1С v8
Поиск по справочнику
0 R0mbes
 
26.07.12
23:38
Добрый день всем !
Тут такой вопрос. Никак не могу найти ошибку... задача вроде элементарная но никак не могу найти что не так. Вообщем делаю обработку которая считывает excel-файл. Номенклатуру ищу по коду, но ф-ция НайтиПоКоду выдает все время ПустуюСсылку

<cod>
...
код = ДобавитьНули(кодисх,11);    //в отладчике код = "00000198985"
ТекущаяНоменклатура = Справочники.Номенклатура.НайтиПоКоду(код);
Если Не  ЗначениеЗаполнено(ТекущаяНоменклатура) ТОгда
   Сообщить("Номенклатура с кодом """+кодисх+""" не найдена");
   Продолжить;
КонецЕсли;
...
</cod>
1 rotting
 
26.07.12
23:40
Точно есть такая номенклатура? Попробуй СокрЛП() добавить
2 rotting
 
26.07.12
23:41
тип кода строка?
3 azernot
 
26.07.12
23:47
(0) Найди эту номенклатуру в справочнике, скопируй код
Всавь этот код в код:

РеальныйКод = "[Вот сюда]";
Если НЕ РеальныйКод = Код ТОгда
   Сообщить("Номенклатура с кодом """+кодисх+""" не найдена! Потому что """+РеальныйКод +""" отличается от """+код +"""");
   Продолжить;
КонецЕсли
4 vde69
 
26.07.12
23:47
НайтиПоКоду - там второй параметр есть, почитай синтаксис...

а вообще в восьмерке такой код называют "быдлокод", правильнее считать всю таблица в память а потом одним запросом найти все номенклатуры
5 R0mbes
 
27.07.12
00:22
(1) - не помогло
(2) - строка длина 11
(3) - да код реальный отличается количеством нулей
(4) - я не понял как это сделать.

Да как же теперь можно обойти эту проблему... просто где-то символов 11 где-то меньше, при выгрузке кодом у меня нули вообще не выгружаются... вот если бы они и выгружались и загружались полностью то проблем бы не было.
Выгрузку делаю вот так
<cod>
....
Лист.Cells(НомерСтроки, 1).Value = Результат.Код;
...
</cod>
из результата запроса просто присваиваю ячейки нужный код, получается общий тип но без лидирующих нулей
6 R0mbes
 
27.07.12
00:34
как можно задать тип ячейки в excel строковый ? может это поможет ?
7 R0mbes
 
27.07.12
00:45
все разобрался, всем спасибо !
8 R0mbes
 
27.07.12
00:46
если кому интересно то установить тип ячейки строковый можно вот так
v7: Как задать тип ячейки выгружаемой из 1С в Excel
Основная теорема систематики: Новые системы плодят новые проблемы.