|
Загрузка из excell, как заполнить номенклатуру из справочника? | ☑ | ||
---|---|---|---|---|
0
Snail
29.07.20
✎
11:37
|
Так заполняет только реквизит ТЧ "Текстовый", а как сделать, чтобы заплнялось выбором из справочника? НайтиПоНаименованию?
&НаКлиенте Процедура Загрузка(Команда) Ехсel = Новый COMObject("Excel.Application"); Книга = Ехсel.Workbooks; Книга.Open(Объект.Файл); Версия = Лев(Ехсel.Version,Найти(Ехсel.Version,".")-1); Если Версия = "8" тогда ФайлСтрок = Ехсel.Cells.CurrentRegion.Rows.Count; ФайлКолонок = Макс(Ехсel.Cells.CurrentRegion.Columns.Count, 13); Иначе ФайлСтрок = Ехсel.Cells(1,1).SpecialCells(11).Row; ФайлКолонок = Ехсel.Cells(1,1).SpecialCells(11).Column; Конецесли; Для СчетчикЦикла = 2 По ФайлСтрок Цикл НоваяСтрока=Объект.ТЧ.Добавить(); НоваяСтрока.Текстовый = СокрЛП(Ехсel.Cells(СчетчикЦикла,2).value); НоваяСтрока.Справочник = СокрЛП(Ехсel.Cells(СчетчикЦикла,2).value); КонецЦикла; Ехсel.Application.Quit(); КонецПроцедуры |
|||
1
Snail
29.07.20
✎
11:38
|
НоваяСтрока.Справочник = ???
|
|||
2
del123
29.07.20
✎
11:41
|
Да, найти по наименованию, но лучше хотя бы по Артикулу искать
|
|||
3
Snail
29.07.20
✎
11:42
|
НоваяСтрока.Справочник = <<?>>Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(Ехсel.Cells(СчетчикЦикла,2).value));
|
|||
4
del123
29.07.20
✎
11:47
|
Можно второй к экселю не обращаться, а взять из поля Текстовый
|
|||
5
Snail
29.07.20
✎
11:50
|
Как это организовать?
|
|||
6
del123
29.07.20
✎
11:51
|
руками и головой
|
|||
7
Snail
29.07.20
✎
11:52
|
Спасибо )
|
|||
8
Snail
29.07.20
✎
12:24
|
.......
|
|||
9
Случайный прохожий
29.07.20
✎
12:26
|
(3) На клиенте так делать нельзя
|
|||
10
Snail
29.07.20
✎
12:27
|
Да я знаю, а как сделать? Через запрос на сервере?
|
|||
11
Snail
29.07.20
✎
12:30
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ЗагрузкаТЧ.Текстовый КАК Текстовый |ИЗ | Документ.Загрузка.ТЧ КАК ЗагрузкаТЧ"; РезультатЗапроса = Запрос.Выполнить().Выбрать(); Пока РезультатЗапроса.Следующий() Цикл СтрокаТЧ = Объект.ТЧ.Добавить(); СтрокаТЧ.Справочник = Справочники.Номенклатура.НайтиПоНаименованию(РезультатЗапроса.Текстовый); КонецЦикла; |
|||
12
Snail
29.07.20
✎
12:30
|
СтрокаТЧ = Объект.ТЧ.Добавить(); ???
|
|||
13
Случайный прохожий
29.07.20
✎
12:34
|
(10) Как вам удобно. Главное что-бы на сервере. Если заполняете документ на клиенте, то можете написать функцию, которая в качестве входящего параметра получает массив текстовых значений, а выходящего - массив значений типа СправочникСсылка. Главное запрос в цикле не делайте :)
|
|||
14
Случайный прохожий
29.07.20
✎
12:35
|
(13) P.S: функция должна располагаться на сервере
|
|||
15
Snail
29.07.20
✎
12:45
|
Спасибо
|
|||
16
Snail
29.07.20
✎
13:02
|
Дааа.... Я дико извиняюсь, что парил вам мозги, все работало. Я просто справочник не забил номенклатурой.... Поэтому не заполнялось )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |