Имя: Пароль:
1C
1С v8
Подбор номенклатуры по строкам excel
0 Lex161
 
18.11.15
11:07
Доброго времени суток, дорогие форумчане.
Помогите пожалуйста решить проблему.
Есть внешняя обработка. В неё загружаются данные из excel.
После загрузки отбирается номенклатура подобная по имени.
На одно имя в excel есть несколько номенклатур.
Как сделать чтобы при заполнении номенклатуры в следующей строке табличного поля указалось то же имя из excel но уже с другой номенклатурой?
1 Lex161
 
18.11.15
11:07
P.S. прошлую тему закрыли(((
2 VikingKosmo
 
18.11.15
11:08
вангую Маню в топик
3 Альбатрос
 
18.11.15
11:09
Ща и эту закроют )))
4 Timon1405
 
18.11.15
11:09
(2) Правильно говорить саммоню (От summon-призывать)
5 Горогуля
 
18.11.15
11:09
а можно повторить вопрос?
6 VikingKosmo
 
18.11.15
11:10
(4) whatever...
7 Lex161
 
18.11.15
11:15
(5) Когда идёт загрузка данных в табличную часть из екселя то колонка наименование заполняется по данным файла, а колонка номенклатура по подбору с помощью запросного оператора ПОДОБНО, как сделать чтобы он заполнял на следующую строку с наименованием другую номенклатуру. Пример:
Наименование АН-101
Номенклатура по нему выбирается АН-101-БД
а в следующей строке должно быть наименование АН-101
а номенклатура АН-101-БД-З
8 Горогуля
 
18.11.15
11:26
а почему не  АН-101-БД-З000?
9 Tatitutu
 
18.11.15
11:26
Прыг-Скок...или из MS EXCEL в 1С (8.2) (открытый код)
http://catalog.mista.ru/public/399457/
посмотри это реализовано (нечеткий поиск)
10 Lex161
 
18.11.15
11:28
(8) Да любая номенклатура содержащая в своем наименовании наименование из экселя
11 Ненавижу 1С
 
гуру
18.11.15
11:30
ПОДОБНО "%Наименование%"
И Ссылка НЕ В (&НакапливаемыйСписокНоменклатуры)
12 Lex161
 
18.11.15
11:35
(11) Можно по подробнее??
У меня запрос реализован вот так:
Функция ОтборПодобного(НаименованиеНом)
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Номенклатура.Ссылка КАК Номенклатура
        |ИЗ
        |    Справочник.Номенклатура КАК Номенклатура
        |ГДЕ
        |    Номенклатура.Наименование ПОДОБНО &XLS";
Запрос.УстановитьПараметр("XLS", НаименованиеНом + "%");    
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Возврат Выборка.Номенклатура;    
КонецЦикла;
КонецФункции
13 Lex161
 
18.11.15
11:36
(11) а вызывается вот так:
Если ЗначениеЗаполнено(НовСтрока.НаименованиеXLS) Тогда
            НовСтрока.Номенклатура = ОтборПодобного(НовСтрока.НаименованиеXLS);
        КонецЕсли;
14 Garykom
 
гуру
18.11.15
11:37
(2) странно... как можно призвать того кто тут с самого начала?
15 VikingKosmo
 
18.11.15
11:38
Возврат в цикле... Сильный ход...
16 VikingKosmo
 
18.11.15
11:39
(14) где?
17 Ненавижу 1С
 
гуру
18.11.15
11:41
где-то вначале:

НакапливаемыйСписокНоменклатуры = Новый СписокЗначений;


твоя функция:

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


и вызываешь:

Если ЗначениеЗаполнено(НовСтрока.НаименованиеXLS) Тогда
            НовСтрока.Номенклатура = ОтборПодобного(НовСтрока.НаименованиеXLS,НакапливаемыйСписокНоменклатуры);
        КонецЕсли;
18 Lex161
 
18.11.15
12:12
(17) Работает только если добавлять постоянно новые строки под разными переменными, т.е.:
НовСтрока=Объект.ДанныеОтбора.Добавить();
Стр=Объект.ДанныеОтбора.Добавить();
Новая=Объект.ДанныеОтбора.Добавить();
и т.д.
и вызывать потом так же
19 Ненавижу 1С
 
гуру
18.11.15
12:36
(18) че за бред?
20 mxs089
 
18.11.15
12:48
тебе необходимо где то держать список соответствий!!! это может быть РС, или файлик, в котором наименование из EXCEL файла и код номенклатуры в твоем справочнике.
21 VikingKosmo
 
18.11.15
12:49
я бы все таки по совету (17) воспользовался СписокЗначений
22 Lex161
 
18.11.15
13:15
(19) Ну вот так получается, если просто вызвать то он не делает несколько строк с одинаковым наименованием
23 Ненавижу 1С
 
гуру
18.11.15
13:30
(22) начнем с того, что за нах ДанныеОтбора? этого я не видел раньше в топике и тащи весь код уже
24 Lex161
 
18.11.15
13:37
(23) ДанныеОтбора это название табличной части
25 Ненавижу 1С
 
гуру
18.11.15
13:39
(24) я рад
26 Lex161
 
18.11.15
14:10
Всё проблема решена, спасибо всем за помощь)))
Отдельное спасибо "Ненавижу 1С", Ты гений)))
2 + 2 = 3.9999999999999999999999999999999...