|
Ошибка открытия .xls листа для чтения | ☑ | ||
---|---|---|---|---|
0
falselight
27.04.20
✎
05:05
|
Подскажите пожалуйста, в чем может быть ошибка, открытия .xls листа?
Попытка Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(Файл); Исключение Сообщить("Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!"); Сообщить(ОписаниеОшибки()); Возврат 0; КонецПопытки; Выходит сообщение об ошибке, - Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена! {ВнешняяОбработка.LOADxls.Форма.Форма.Форма(18)}: Ошибка при вызове конструктора (COMОбъект): -2147220994(0x800401FE): Приложение было запущено, но оно не зарегистрировало фабрику классов |
|||
1
falselight
27.04.20
✎
05:20
|
Ошибка, на этой строке.
Excel = Новый COMОбъект("Excel.Application"); Запустил другой конфигуратор. Там такой ошибки нет. |
|||
2
falselight
27.04.20
✎
05:39
|
Может что известное. Хотел узнать.
Пока работаю под другим конфигуратором. |
|||
3
Василий Алибабаевич
27.04.20
✎
08:00
|
(0)
1. Если все расположено на клиентской машине - нужно установить нормальный Excel. 2. Если на сервере - п. 1 и проверить права пользователя ОС на создание COM объектов. |
|||
4
SleepyHead
гуру
27.04.20
✎
08:37
|
(0) А что, читать через табличный документ уже нельзя?
|
|||
5
falselight
27.04.20
✎
11:01
|
(3) (4) Дело в том что не работает на одной из версий платформы. На которой я начал делать.
Вот и не понял. Открыл другую, так как не давно пробовал делать тоже самое. и там так же. В начале же нужно прочитать с Эксель. Вот с него не читалось. |
|||
6
H A D G E H O G s
27.04.20
✎
11:23
|
ЛивингСтар, ты ли это?
|
|||
7
SleepyHead
гуру
27.04.20
✎
11:27
|
(5) Ты вообще понял, что написано в (4)?
Читай через табличный документ,а не ком-объект. И будет тебе счастье. |
|||
8
ChMikle
27.04.20
✎
14:17
|
(0) База какая SQL или файловая и где выполняется >>Excel = Новый COMОбъект("Excel.Application"); в процедуре
&НаКлиенте или &НаСервере ? |
|||
9
Ram_zes
27.04.20
✎
14:20
|
(0) считай это дерьмо через табличный документ
|
|||
10
Ram_zes
27.04.20
✎
14:21
|
(0) и да
Тут рука профи нужна. [email protected] Загрузка файла будет 1500 на карту стоить. Предоплата 100%. |
|||
11
falselight
27.04.20
✎
16:39
|
(4) Да как то привык так вот эксель открывать при загрузке с него.
А не копировать и вставлять в табличный документ. |
|||
12
falselight
27.04.20
✎
16:40
|
(8) На сервере конечно, как обычно.
&НаСервере Функция СоздатьТЗсXLSЛистов(Файл) Таблица = Новый ТаблицаЗначений; Попытка Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(Файл); Исключение Сообщить("Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!"); Сообщить(ОписаниеОшибки()); Возврат 0; КонецПопытки; Попытка Excel.Sheets(1).Select(); Исключение Excel.ActiveWorkbook.Close(); Excel = 0; Сообщить("Файл " + Строка(Файл)+" не соответствует необходимому формату! Первый лист не найден!"); ОтменитьТранзакцию(); Возврат 0; |
|||
13
falselight
27.04.20
✎
16:40
|
(8) В данный момент файловая.
|
|||
14
falselight
27.04.20
✎
16:42
|
(10) А как вы сообщение отредактировали свое????
|
|||
15
ChMikle
27.04.20
✎
16:43
|
(12) Попробуйте создать процедуру &НаКлиенте и в процедуре открыть файл . Кстати Ексель стоит на компе, где пытаетесь файл считать.
&НаКлиенте процедура() Попытка Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(Файл); Исключение Сообщить("Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!"); Сообщить(ОписаниеОшибки()); Возврат 0; КонецПопытки; |
|||
16
falselight
27.04.20
✎
17:13
|
(15) Тут вопрос был, почему под одной платформой не работает.
Идет ошибка что в (0). А под другой работает. Я этого не мог понять. Может что с платформой. Попробую ваш совет. А ещё на сервере такой метод может не сработать, вроде как была как то у меня информация. Там как то иначе нужно. Может это вот этот ваш совет про это. Я там встретился с тем что на сервере. делают копированием в табличный документ. |
|||
17
ChMikle
27.04.20
✎
17:52
|
(16) Вы можете на клиенте в таблицу значений считать данные екселя и отдать ее на сервер выполнять дальнейшие манипуляции.
|
|||
18
Cthulhu
27.04.20
✎
18:07
|
(17): на клиенте бывает (штатно) таблицазначений? и она норм сериализуется при передаче на сервер???
|
|||
19
Timon1405
27.04.20
✎
18:16
|
http://catalog.mista.ru/public/714988/ же и никакого экселя
|
|||
20
Cthulhu
27.04.20
✎
18:46
|
(19): метод "Прочитать" для таб.документов появился совсем недавно (в 15-м что ли релизе?)
ну и там (по ссылке) в принципе в коде не учтено, что книга читается в таб.документ с областями, имена которых совпадают с именами листов книги.... |
|||
21
Cthulhu
27.04.20
✎
18:48
|
(10): опс. пардон, ялох...
просто на практике недавно нарвался, что "прочитать" нормально работал на 15-м - и при этом напрочь отказывался на 14-м... пардон, про "недавно№ не читайте, по ссылке на 9-м проверено... |
|||
22
falselight
28.04.20
✎
10:00
|
В файловой базе загрузка прошла успешно.
Сейчас перенес на сервер. На удаленный рабочий стол, там не работает. Ошибка http://joxi.ru/823qePbHDq86wr тут нужно делать как в (19) или (15) или (4) советуют? Ошибка при загрузке http://joxi.ru/KAx3R4VT1LKM62 и http://joxi.ru/823qePbHDq86wr |
|||
23
falselight
28.04.20
✎
10:02
|
Ошибка на Колонки, на какие то из этих процедур видимо
&НаСервере Функция СоздатьТЗсXLSЛистов(Файл) Таблица = Новый ТаблицаЗначений; Попытка Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(Файл); Исключение Сообщить("Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!"); Сообщить(ОписаниеОшибки()); Возврат 0; КонецПопытки; Попытка Excel.Sheets(1).Select(); Исключение Excel.ActiveWorkbook.Close(); Excel = 0; Сообщить("Файл " + Строка(Файл)+" не соответствует необходимому формату! Первый лист не найден!"); ОтменитьТранзакцию(); Возврат 0; КонецПопытки; Версия = Лев(Excel.Version,Найти(Excel.Version, ".") - 1); Если Версия = "8" тогда ФайлСтрок = Excel.Cells.CurrentRegion.Rows.Count; ФайлКолонок = Макс(Excel.Cells.CurrentRegion.Columns.Count, 13); Иначе ФайлСтрок = Excel.Cells(1, 1).SpecialCells(11).Row; ФайлКолонок = Excel.Cells(1, 1).SpecialCells(11).Column; Конецесли; Сч = 1; // Таблица.Колонки.Добавить("НоваяСтрока", ,"НоваяСтрока"); // Пока ЗначениеЗаполнено(Excel.Cells(1, Сч).Text) Цикл ИмяКолонки = Excel.Cells(1, Сч).Text; // ИмяБезПробелов = СтрЗаменить(ИмяКолонки, " ", ""); // ИмяБезПробелов = СтрЗаменить(ИмяБезПробелов, "(", ""); // ИмяБезПробелов = СтрЗаменить(ИмяБезПробелов, ")", ""); // ИмяБезПробелов = СтрЗаменить(ИмяБезПробелов, ".", ""); // ИмяБезПробелов = СтрЗаменить(ИмяБезПробелов, ",", ""); // // ИмяКолонки = СтрЗаменить(ИмяКолонки, " ", ""); // ИмяКолонки = СтрЗаменить(ИмяКолонки, "(", ""); // ИмяКолонки = СтрЗаменить(ИмяКолонки, ")", ""); // ИмяКолонки = СтрЗаменить(ИмяКолонки, ".", ""); // ИмяКолонки = СтрЗаменить(ИмяКолонки, ",", ""); // // ИмяБезПробелов = СтрЗаменить(ИмяБезПробелов,"/",""); ИмяКолонки = СтрЗаменить(ИмяКолонки,"/",""); НоваяКолонка = Таблица.Колонки.Добавить(ИмяБезПробелов, ,ИмяКолонки); Сч = Сч + 1; КонецЦикла; НомерСтроки = 1; Для НС = 2 по ФайлСтрок Цикл НоваяСтрока = Таблица.Добавить(); // НоваяСтрока["НоваяСтрока"] = НомерСтроки; // Для НомерКолонки = 1 по Таблица.Колонки.Количество()-1 Цикл ТекущееЗначение = Excel.Cells(НС, НомерКолонки).Text; ИмяКолонки = Таблица.Колонки[НомерКолонки].Имя; НоваяСтрока[ИмяКолонки] = ТекущееЗначение; КонецЦикла; НомерСтроки = НомерСтроки + 1; КонецЦикла; // Excel.DisplayAlerts = 0; Excel.ActiveWorkbook.Close(); Excel.Quit(); Excel.DisplayAlerts = 1; // Возврат Таблица; КонецФункции // &НаСервере Процедура СоздатьТаблицуНаФорме(ТзДляСоздания) // Таблица = РеквизитФормыВЗначение("Товары"); МассивРеквизитов = Новый Массив; Для Каждого Колонка Из Таблица.Колонки Цикл МассивРеквизитов.Добавить("Товары." + Колонка.Имя); КонецЦикла; // ИзменитьРеквизиты(,МассивРеквизитов); // ЭлементТаблица = Элементы.Найти("Товары"); Если ЭлементТаблица <> Неопределено Тогда Элементы.Удалить(ЭлементТаблица); КонецЕсли; // ЭлементТаблица = Элементы.Добавить("Товары", Тип("ТаблицаФормы"), Элементы.Группа7); ЭлементТаблица.ПутьКДанным = "Товары"; ЭлементТаблица.Отображение = ОтображениеТаблицы.Список; // МассивРеквизитов.Очистить(); Для Каждого Колонка ИЗ ТзДляСоздания.Колонки Цикл МассивТипов = Новый Массив; МассивТипов.Добавить(Колонка.ТипЗначения); НоваяКолонка = Новый РеквизитФормы(Колонка.Имя, Новый ОписаниеТипов(МассивТипов), "Товары"); МассивРеквизитов.Добавить(НоваяКолонка); КонецЦикла; // ИзменитьРеквизиты(МассивРеквизитов); ЗначениеВРеквизитФормы(ТзДляСоздания, "Товары"); // ЭлементТЗ = Элементы.Товары; Для Каждого Колонка ИЗ ТзДляСоздания.Колонки Цикл НовыйЭлементФормы = Элементы.Добавить("Товары" + Колонка.Имя, Тип("ПолеФормы"), ЭлементТЗ); НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлементФормы.ПутьКДанным = "Товары." + Колонка.Имя; КонецЦикла; КонецПроцедуры // |
|||
24
ChMikle
28.04.20
✎
10:26
|
(22) с правами на доступ к екселю (или он вообще не установлен на компе гдк стоит сервер 1С) у пользователя под которым запущен сервер 1С
|
|||
25
falselight
28.04.20
✎
10:47
|
(24) Эксель стоит. Открывается. Видимо там принцип работы какой то другой. Отличный от того что выполняется в файловой версии на персональном компьютере.
|
|||
26
falselight
28.04.20
✎
10:50
|
(25) Принцип обработки файла кодом из 1с, я имею ввиду
|
|||
27
ChMikle
28.04.20
✎
10:51
|
(25) когда в серверной версии вы на сервере запускаете работу с екселем, то создается сом объект на компе где стоит сервер 1С и под правами пользователя , под которыми он запущен.
|
|||
28
ChMikle
28.04.20
✎
10:53
|
+(27) 1Ссервер м.б. запущен не под тем пользователем, под которым вы заходите для проверки прав доступа к екселю
|
|||
29
falselight
28.04.20
✎
11:01
|
(28) Да на этом сервере у меня органиченные права. то есть получается этот код не отработает там?
Как можно выйти из положения? |
|||
30
falselight
28.04.20
✎
11:05
|
(17) &НаКлиенте не доступна Таблица = Новый ТаблицаЗначений;
|
|||
31
ChMikle
28.04.20
✎
11:06
|
(29) администратор системного подключать и проверять права именно на доступ к екселю под пользователем , под которым сервер 1С запущен
(30) К екселю подключается из под разных платформ ? |
|||
32
ChMikle
28.04.20
✎
11:15
|
(30) на форме создайте элемент ТаблицаЗначений , колонки добавьте и потом перебором переписывайте
|
|||
33
falselight
28.04.20
✎
11:25
|
(31) На сервере под удаленным рабочим столом одна платформа.
(32) И на сервере не работает отладка, не посмотрю как выполняется код. Одно видно что ругается на Колонки сначала (22) . |
|||
34
falselight
28.04.20
✎
11:40
|
(32) А как мне эксель то открыть?
|
|||
35
falselight
28.04.20
✎
12:56
|
Проверил, да, на клиенте может эксель открыть. Почему тогда такая проблема, не совсем пойму, из за чего.
|
|||
36
ikea
28.04.20
✎
13:10
|
(35) А как файл Excel на сервер с клиента передается? Через временное хранилище?
|
|||
37
Мимохожий Однако
28.04.20
✎
13:18
|
Повторюсь. Не надо СОМ. Используй чтение в табличный документ из файла методами 1С.
|
|||
38
Cthulhu
28.04.20
✎
13:29
|
если уж так хоццца через com
попробуй включи пользователя, под которым запускается сервер приложений 1С Предприятия 8, в группу Distributed COM Users - если не поможет, то дополнительно включить его в группу локальных администраторов. (о результате - отпишись?) |
|||
39
Cthulhu
28.04.20
✎
13:31
|
(36): тогда бы ошибка была про файл. который не найден - не на этапе создания com-объекта, а при открытии файла....
|
|||
40
Cthulhu
28.04.20
✎
13:33
|
(кстати, вотето - v8: Интерфейс не поддерживается - видел?)
|
|||
41
falselight
28.04.20
✎
13:39
|
(37) Буду пробовать сейчас этот вариант.
Ещё раз. спасибо за мотивацию. |
|||
42
falselight
28.04.20
✎
16:00
|
После того как с табличного документа я заполню &НаСервере таблицу значений,
где мне заполнять табличную часть на форме обработки? &НаКлиенте или на &НаСервере ? А то утомился, подумал спрошу дельный совет. С табличного документа, я заполнил таблицу значений на сервере. Дальше? Что бы на форме заполнить. Что бы это все работало на удаленном рабочем столе, на сервере в базе ms sql server. |
|||
43
Фрэнки
28.04.20
✎
16:09
|
(42) Так ты на Сервере заполняй сразу в Объект, который из реквизита формы в значение получен. А затем обратно из значения в реквизит формы
у тебя что нет типовой? там же есть такое уже готовое, что подсмотреть можно. |
|||
44
falselight
28.04.20
✎
16:15
|
(43) Буду сейчас пробовать!
|
|||
45
falselight
28.04.20
✎
16:15
|
(43) То есть сама таблица значений что есть у обработки, и положена на форму обработки для визуального отображения не доступна &НаСервере ?
|
|||
46
H A D G E H O G s
28.04.20
✎
16:17
|
Ахахаха, жесть жестяночка.
|
|||
47
Cthulhu
28.04.20
✎
16:19
|
(45): во-первых, реквизит №тз" и объект "тз" - это две большие разницы.
ну и во-вторых - а вы попробуйте эту "тз" передать в параметре на сервер... а потом расскажите... (46) ага. :))) |
|||
48
falselight
28.04.20
✎
16:21
|
Смысл в том, что получив таблицу значений с эксель
хочу вывести это на форму. Вот и узнаю что бы без проб, как сразу правильно делать? http://joxi.ru/RmznO4eiRZ5wVm Намек хотя бы. |
|||
49
Фрэнки
28.04.20
✎
16:27
|
(48) такая ТЗ, как у тебя на картинке видна = реквизит формы. Поэтому нужно через
ТекущийОбъект = РеквизитФормыВЗначение("Книги"); ЗдесьПишемСвойКодЗаполнения(ТекущийОбъект); ЗначениеВРеквизитФормы(ТекущийОбъект, "Книги"); --- тогда увидишь свою заполненную тз на форме |
|||
50
ChMikle
28.04.20
✎
17:01
|
(48) делал загрузку с формы, поищу обработку , если найду вышлю
|
|||
51
Мимохожий Однако
28.04.20
✎
17:12
|
(48) достаточно поместить табличное поле на форму, связанную с прочитанной таблицей. Посмотри типовую обработку по загрузке данных из табличного документа.
|
|||
52
ChMikle
28.04.20
✎
17:29
|
Куда выслать обработку ?
|
|||
53
falselight
29.04.20
✎
04:04
|
(52) Спасибо. Я сам делаю тут. Все равно по загрузке свои особенности.
Или вы тоже грузили в УТ 11.4 Вес товара с упаковкой (г), г Высота предмета, см Высота упаковки, см Глубина предмета, см Глубина упаковки, см Ширина предмета, см Ширина упаковки, см |
|||
54
falselight
29.04.20
✎
04:35
|
(52) Ну, а если есть интересные какие примеры. Можно сюда. [email protected]
|
|||
55
falselight
29.04.20
✎
04:59
|
На сервере удалось прочитать, вот таким кодом.
Сейчас уже и дальше можно обрабатывать. // &НаКлиенте Процедура ФайлДляЗагрузкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = ложь; ВыбратьФайл("ФайлДляЗагрузки"); КонецПроцедуры // &НаКлиенте Процедура ВыбратьФайл(ФайлДляЗагрузки) #Если ВебКлиент Тогда Результат = ПодключитьРасширениеРаботыСФайлами(); Если Не Результат Тогда УстановитьРасширениеРаботыСФайлами(); Если Не ПодключитьРасширениеРаботыСФайлами() Тогда ВызватьИсключение "Ошибка. Ваш браузер не поддерживает работу с файлами."; КонецЕсли; КонецЕсли; #КонецЕсли Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок = "Выберите файл"; Диалог.ПолноеИмяФайла = ""; Диалог.МножественныйВыбор = Ложь; Диалог.Фильтр = "Документ Excel (*.xls, *.xlsx)|*.xls;*.xlsx|"; Оповещение = Новый ОписаниеОповещения("ОповещениеПослеВыбораФайлаДляОткрытия", ЭтотОбъект, ФайлДляЗагрузки); Диалог.Показать(Оповещение); КонецПроцедуры // &НаКлиенте Процедура ОповещениеПослеВыбораФайлаДляОткрытия(ВыбранныеФайлы, ДопПараметры) Экспорт Если ТипЗнч(ВыбранныеФайлы) = Тип("Массив") Тогда Объект[ДопПараметры] = ВыбранныеФайлы[0]; КонецЕсли; КонецПроцедуры // &НаКлиенте Процедура Прочитать(Команда) Если Не ЗначениеЗаполнено(Объект.ФайлДляЗагрузки) Тогда Сообщить("Не указан файл. Обработка не выполнена."); Возврат; КонецЕсли; ВыбФайл = Новый Файл(Объект.ФайлДляЗагрузки); Если Не ВыбФайл.Существует() Тогда Сообщить("Файл не существует!"); Возврат; КонецЕсли; ТДВыгрузка = Новый ТабличныйДокумент; мПрочитатьТабличныйДокументИзExcel(ТДВыгрузка, Объект.ФайлДляЗагрузки, 1); ПрочитатьНаСервере(ТДВыгрузка); КонецПроцедуры // &НаКлиенте Функция мПрочитатьТабличныйДокументИзExcel(ТабличныйДокумент, ИмяФайла, НомерЛистаExcel = 1) Экспорт xlLastCell = 11; ВыбФайл = Новый Файл(ИмяФайла); Если НЕ ВыбФайл.Существует() Тогда Сообщить("Файл не существует!"); Возврат Ложь; КонецЕсли; Попытка Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(ИмяФайла); ExcelЛист = Excel.Sheets(НомерЛистаExcel); Исключение Сообщить("Ошибка. Возможно неверно указан номер листа книги Excel."); Возврат Ложь; КонецПопытки; SpecialCells = Excel.Sheets(НомерЛистаExcel).Cells.SpecialCells(11); RowCount = SpecialCells.Row; ColumnCount = SpecialCells.Column; Для Column = 1 По ColumnCount Цикл ТабличныйДокумент.Область("C" + Формат(Column, "ЧГ=")).ШиринаКолонки = ExcelЛист.Columns(Column).ColumnWidth; КонецЦикла; Для Row = 1 По RowCount Цикл Для Column = 1 По ColumnCount Цикл Если ТипЗнч(ExcelЛист.Cells(Row,Column).Value) = Тип("Число") Тогда ЗначениеЗамена = СтрЗаменить(ExcelЛист.Cells(Row,Column).Value, " ", ""); Иначе ЗначениеЗамена = ExcelЛист.Cells(Row,Column).Value КонецЕсли; ТабличныйДокумент.Область("R" + Формат(Row, "ЧГ=") +"C" + Формат(Column, "ЧГ=")).Текст = ЗначениеЗамена; КонецЦикла; КонецЦикла; Excel.WorkBooks.Close(); Excel = 0; Возврат Истина; КонецФункции // // &НаСервере Процедура ПрочитатьНаСервере(Макет) ТЗсXLS = Новый ТаблицаЗначений; ТЗсXLS.Колонки.Добавить("", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("OzonID", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("Баркод", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("Автор", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("Год", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("Издательство", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("Артикул", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("Комплектация", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("ВесТовараСУпаковкой", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("ВысотаПредмета", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("ВысотаУпаковки", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("ГлубинаПредмета", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("ГлубинаУпаковки", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("ШиринаПредмета", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("ШиринаУпаковки", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("Количество", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("Цена", Новый ОписаниеТипов("Строка")); ТЗсXLS.Колонки.Добавить("НомерСтроки", Новый ОписаниеТипов("Строка")); // Для Стр = 2 По Макет.ВысотаТаблицы Цикл НоваяСтрока = ТЗсXLS.Добавить(); НоваяСтрока.OzonID = СокрЛП(Макет.Область(Стр, 1).Текст); НоваяСтрока.Баркод = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.Наименование = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.Автор = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.Год = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.Издательство = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.Артикул = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.Комплектация = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.ВесТовараСУпаковкой = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.ВысотаПредмета = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.ВысотаУпаковки = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.ГлубинаПредмета = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.ГлубинаУпаковки = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.ШиринаПредмета = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.ШиринаУпаковки = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.Количество = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.Цена = СокрЛП(Макет.Область(Стр, 2).Текст); НоваяСтрока.НомерСтроки = Стр; КонецЦикла; // ТзКнигиНаФорме = РеквизитФормыВЗначение("Книги"); Для Каждого СтрТЗсXLS Из ТЗсXLS Цикл НоваяСтрока = ТзКнигиНаФорме.Добавить(); НоваяСтрока.НомерСтроки = СокрЛП(СтрТЗсXLS.НомерСтроки-1); НоваяСтрока.OzonID = СокрЛП(СтрТЗсXLS.OzonID); НоваяСтрока.Баркод = СокрЛП(СтрТЗсXLS.Баркод); НоваяСтрока.Наименование = СокрЛП(СтрТЗсXLS.Наименование); НоваяСтрока.Автор = СокрЛП(СтрТЗсXLS.Автор); НоваяСтрока.Год = СокрЛП(СтрТЗсXLS.Год); НоваяСтрока.Издательство = СокрЛП(СтрТЗсXLS.Издательство); НоваяСтрока.Артикул = СокрЛП(СтрТЗсXLS.Артикул); НоваяСтрока.Комплектация = СокрЛП(СтрТЗсXLS.Комплектация); НоваяСтрока.ВесТовараСУпаковкой = СокрЛП(СтрТЗсXLS.ВесТовараСУпаковкой); НоваяСтрока.ВысотаПредмета = СокрЛП(СтрТЗсXLS.ВысотаПредмета); НоваяСтрока.ВысотаУпаковки = СокрЛП(СтрТЗсXLS.ВысотаУпаковки); НоваяСтрока.ГлубинаПредмета = СокрЛП(СтрТЗсXLS.ГлубинаПредмета); НоваяСтрока.ГлубинаУпаковки = СокрЛП(СтрТЗсXLS.ГлубинаУпаковки); НоваяСтрока.ШиринаПредмета = СокрЛП(СтрТЗсXLS.ШиринаПредмета); НоваяСтрока.ШиринаУпаковки = СокрЛП(СтрТЗсXLS.ШиринаУпаковки); НоваяСтрока.Количество = СокрЛП(СтрТЗсXLS.Количество); НоваяСтрока.Цена = СокрЛП(СтрТЗсXLS.Цена); КонецЦикла; ЗначениеВРеквизитФормы(ТзКнигиНаФорме, "Книги"); КонецПроцедуры // |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |