Имя: Пароль:
1C
1C 7.7
v7: Поиск по наименованию
0 ErrorEd88
 
26.02.12
11:32
Из ТиС делалась типовая выгрузка в Бух 7.7. Справочник номенклатура одинаков по составу элементов в двух базах. Теперь в бух 7.7 пытаюсь загрузить данные из файлы эксель. Файл - сохраненный отчет по остаткам ТМЦ в ТиС. Пишу:

Если Спр.НайтиПоНаименованию(ExcelТипы.Cells(СтрТипы,1).Value) =  1 Тогда
...
Иначе
Спр = СоздатьОбъект("Справочник.Номенклатура");
...
КонецЕсли;

Почти всегда создаются новые элементы, хотя номенклатура есть. Как лучше искать подобные элементы?
1 ErrorEd88
 
26.02.12
11:33
файлы=файла
2 МастерВопросов
 
26.02.12
11:34
"Как лучше искать подобные элементы?"

по коду.
В отчет по остаткам ТМЦ наверное выводится не "Наименование", а "ПолнНаименование"
3 Мизантроп
 
26.02.12
11:35
СокрЛП
4 Sj
 
26.02.12
11:36
>> Иначе
>> Спр = СоздатьОбъект("Справочник.Номенклатура");

а это зачем? у тебя ж в Спр уже и так номенклатуры справочник.
5 ErrorEd88
 
26.02.12
11:39
(4) Создаю новый элемент:

Спр2 = СоздатьОбъект("Справочник.Номенклатура");
Спр = СоздатьОбъект("Справочник.Номенклатура");
Спр.Новый();
Спр.ИспользоватьДату('01.11.2011');
Если Спр2.НайтиПоКоду("СК0000111")=1 Тогда
Спр.Родитель =Спр2.ТекущийЭлемент();
Конецесли;
6 ErrorEd88
 
26.02.12
11:39
(3) Тоже не помогает.
7 ErrorEd88
 
26.02.12
11:43
(2) Да, полное наименование. Буду пробовать НайтиПоРеквизиту()
8 miki
 
26.02.12
12:01
(7)не взлетит для полного наименования.
9 Torquader
 
26.02.12
12:17
А кода в бухгалтерии и в торговле у вас одинаковые ?
Если нет, то придётся делать танцы с бубном, чтобы синхронизовать справочник.
10 smaharbA
 
26.02.12
12:18
запросом с вычетом всех пробелов и пунктуации
11 МастерВопросов
 
26.02.12
12:41
(7) проще отчет по остаткам ТМЦ подправить, только сохраните его во внешний файл, а не внутри конфы правьте
12 ErrorEd88
 
26.02.12
12:49
(8) У реквизита ПолнНаименование убрал неограниченную длину. Поставил галку сортировка. Взлетело.
13 МастерВопросов
 
26.02.12
12:52
+(11) дарю:

//*******************************************
Процедура Сформировать()
   //Выгружаем остатки в ТЗ
   ТЗ=СоздатьОбъект("ТаблицаЗначений");
   Рег=СоздатьОбъект("Регистр.ОстаткиТМЦ");
   Рег.ВыгрузитьИтоги(ТЗ);
   Тз.Свернуть("Номенклатура","Количество");
   
   //Выводим таблицу
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Таблица1");
   Таб.ВывестиСекцию("Шапка");
   Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
   Пока Тз.ПолучитьСтроку()=1 Цикл
       КодНоменклатуры=Тз.Номенклатура.Код;
       ОстатокВсего=Тз.Количество;
       Таб.ВывестиСекцию("Строка_1");
   КонецЦикла;
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Таблица1","");
КонецПроцедуры
14 ErrorEd88
 
26.02.12
13:01
(13) спасибо
Ошибка? Это не ошибка, это системная функция.