Имя: Пароль:
1C
1С v8
Правила конвертации. Поиск, как сделать?
0 vmprog
 
17.08.12
08:13
Всем привет.
Люди посоветуйте как сделать следующее:
Есть правила конвертации для выгрузки данных из УТ10.3 и загрузки в БП 8.2 последнего релиза.

Надо сделать чтобы поиск номенклатуры в БП делался по полю "НаименованиеПолное" те в БП ищем номенклатуру по наименованию из реквизита УТ "НаименованиеПолное", но сами поля при загрузке "Наименование" и "НаименованиеПолное" загружались в такие же поля БП т.е. "Наименование" в "Наименование", а "НаименованиеПолное" в "НаименованиеПолное".
Вот такие два не рабочих варианта получились:  
http://vmcorp.ru/upload/v1.jpg
http://vmcorp.ru/upload/v2.jpg
1 andrewks
 
17.08.12
08:17
убрать поиск по уид, поставить галку поиска на этом реквизите
2 vmprog
 
17.08.12
08:21
И в первом и во втором варианте поиск по уид отключен.
Если поставить галку на реквизит источник "НаименованиеПолное" то какой реквизит приемник указывать?
3 Сияющий Асинхраль
 
17.08.12
08:23
(0) Сделать можно, но тормозить будет - жуть
4 Сияющий Асинхраль
 
17.08.12
08:30
Один вариант - вручную прописывать поиск, второй вариант: переливать из наименогнияполн в наименование с нужным поиском, а при записи объекта менять их местами
5 vmprog
 
17.08.12
09:22
(4) буду двигать первый вариант.
Скажите пож.
1)Где прописывается код такого поиска, в
ПКО: Номенклатура в одном из обработчиков событий?
2) В данном случае я отключаю все поля поиска или поиск по полю "Родитель" оставляю?
6 RomaH
 
naïve
17.08.12
09:56
посмотри внутрь обработки загрузки
там есть структраПоиска - соответсвие
возможно её можно переписать в обработчиках
7 Сияющий Асинхраль
 
17.08.12
10:05
По мне так второй вариант проще, но если так уж хочешь вариант 1, то код поиска пишется на страничке "Поля поиска" в ПКО, пишется примерно так:


Если НомерВариантаПоиска = 1 Тогда
   
   СтрокаИменСвойствПоиска = "Номер, Организация, Дата";
   
Иначе
   
   Если НЕ ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
       
       Запросы.ПоискАвОтчетаВТекГоду.УстановитьПараметр("КонДата", КонецГода(СвойстваПоиска.Получить("Дата")));
       Запросы.ПоискАвОтчетаВТекГоду.УстановитьПараметр("НачДата", НачалоГода(СвойстваПоиска.Получить("Дата")));
       Запросы.ПоискАвОтчетаВТекГоду.УстановитьПараметр("ТекНомер", СвойстваПоиска.Получить("Номер"));
       Запросы.ПоискАвОтчетаВТекГоду.УстановитьПараметр("ТекОрганизация", СвойстваПоиска.Получить("Организация"));
       
       Результат = Запросы.ПоискАвОтчетаВТекГоду.Выполнить();
       
       ВыборкаОсн = Результат.Выбрать();
       
       Если ВыборкаОсн.Следующий() Тогда
           СсылкаНаОбъект = ВыборкаОсн.Ссылка;
       КонецЕсли;
       
   КонецЕсли;
   
КонецЕсли;

Инфу по обоработчику "Поля поиска" погляди в КД
8 vmprog
 
17.08.12
10:23
(7) Тогда сразу про второй вариант. Он я так понял пишется на страничке "После загрузки" в ПКО Номенклатура?
9 Сияющий Асинхраль
 
17.08.12
10:29
Да
10 Йохохо
 
17.08.12
10:31
(7) офф, а зачем "Если НЕ ЗначениеЗаполнено(СсылкаНаОбъект) Тогда" ?
11 vmprog
 
17.08.12
11:05
Спасибо, товарищи.