Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 💫 читайте на сайте

1C Ссылка на Файл в Табличном Документе • Через comsafearray

Данная публикация имеет две основные цели — Зафиксировать полученный опыт, чтобы через некоторое время можно было его использовать повторно — Получить обратную связь от сообщества относительно предлагаемых приемов.

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Потому что все опции меню Таблица доступны, и также, как у родного табличного документа внизу высветились Редактирование; Текст; Просмотр. Чем можно вычитать html-файл в ТАБЛИЧНЫЙ ДОКУМЕНТ? #690324 Обращайтесь в форму связи

Грамотная загрузка из Excel в 1С

Многим 1сникам не понятен единственно верный путь чтения Excel-файлов.

Если файл Excel содержит только одну страницу, то его можно прочитать методом Прочитать табличного документа. И записать в Excel файл табличный документ тоже можно из 1С.

Файлы Excel, пользователь, кстати, может открыть и посмотреть в 1С.

Но у метода Прочитать есть недостаток — он криво воспринимает некоторые даты, как ни читай — текстом или значениями. Будем надеяться, со временем эти банальные глюки 1с все же починят. А пока надо применять свои руки, т.е. читать через старый добрый Excel.Application, методика позволяет также читать книги с несколькими листами.

Важно, что читать нужно на клиенте. На сервере Excel запускается от имени пользователя, под которым работает служба 1С-сервера, на практике в 50% случаев админы не могут корректно настроить работу COM-приложения. Поэтому лучше прочитать весь файл на клиенте и передать его в виде массива структур.

Привожу пример чтения обычного файла, содержащего 12 листов с накладными среднего размера. 6 409 ячеек прочитались за 25 секунд. 256 ячеек в секунду — не быстро, но все же быстрее чем ручками?

Для ускорения можно использовать чтение методом COMSafeArray, данные считываются практически мгновенно, но об этом в другой раз. Поэкспериментируйте сами. Правда, первое измерение двухмерного массива получаются колонки, потом строки. Учитывая, что 1С не умеет быстро транспонировать массивы, нужно так и обрабатывать данные.

Ну и еще один штрих — многие пользователи работают в терминале и не ставят на сервер Excel по лицензионным соображениям. С файлами Excel может работать и Open Office, в том числе и по COM-объекту. Так что в планах написать функцию загрузки для Open Office.

Эксель = New COMObject ( «Excel.Application» );
Эксель . visible = false;
Книга = Эксель . Workbooks . Open ( ИмяФайла );

Для НомерЛиста = 1 To Книга . Sheets . Count Цикл
Лист = Книга . Sheets ( НомерЛиста );
ИмяЛиста = Лист . Name ;
Если СоответствиеФильтраЛистов Неопределено Тогда
Если СоответствиеФильтраЛистов [ НомерЛиста ] = Неопределено
И СоответствиеФильтраЛистов [ ИмяЛиста ] = Неопределено
Тогда
Продолжить; //Если лист грузить не надо
КонецЕсли;
КонецЕсли;

Какую часть дохода тратите на еду?
До 50%Больше 50%

Ячейки = Новый Массив ( КоличествоСтрок , КоличествоКолонок );
Для Строка = 1 По КоличествоСтрок Цикл
Для Колонка = 1 По КоличествоКолонок Цикл
Ячейки [ Строка — 1 ][ Колонка — 1 ] = Лист . Cells ( Строка , Колонка ). Value ;
КонецЦикла;
КонецЦикла;

СтруктураЛиста = Новый Структура ();
СтруктураЛиста . Вставить ( «Строк» , КоличествоСтрок );
СтруктураЛиста . Вставить ( «Колонок» , КоличествоКолонок );
СтруктураЛиста . Вставить ( «Ячейки» , Ячейки );
СтруктураЛиста . Вставить ( «Номер» , НомерЛиста );
СтруктураЛиста . Вставить ( «Имя» , ИмяЛиста );

Как сделать ссылку в Excel. Создание ссылок в Эксель на другой лист, на другую книгу, гиперссылку

Для типовых конфигураций для парсинга строки возможно использование функции общего назначения РазложитьСтрокуВМассивПодстрок Текст,.

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Направить курсор в клетку начала, а затем открыть вкладку Главная , нажать на Вставить его можно найти в части Буфер обмена. Работа с расшифровкой в табличном документе – Ваш петербургский программист 1С Обращайтесь в форму связи

Табличный документ «1С:Предприятия» (*.mxl): как сохранить в другом формате?

После того как табличный документ сформирован в «1С:Предприятии» и выведен на экран, его можно распечатать и сохранить во внешний файл. Например, для последующей отправки контрагенту-покупателю по электронной почте.

В «1С:Предприятии» имеется возможность сохранить полученный документ в нескольких форматах. В частности, доступны:

  • формат «1С:Предприятие» — табличный документ для версий платформы 7.7 и 8 (файлы с расширением «*.mxl»);
  • текстовый формат («*.txt») с различными кодировками (ANSI, UTF-8);
  • формат HTML различных стандартов («*.htm»);
  • формат MS Excel различных стандартов («*.xls»).

Для того, чтобы сохранить документ из «1С:Предприятия» в любой из перечисленных выше форматов, достаточно выбрать в меню «Файл» опцию «Сохранить копию…», после чего в появившемся диалоге сохранения файла, в разделе «Тип файла» выбрать нужный нам тип.

Среди всех вышеперечисленных типов файлов, обратим внимание на три самых интересных с практической точки зрения — т. е. те, которые максимально полно сохранят форматирование в табличном документе и в дальнейшем позволят другим пользователям комфортно просматривать то, что мы сохранили, распечатывать это или даже редактировать.

Первый формат — «табличный документ» «1С:Предприятия». Он записывается в файлы с расширением «.mxl» и может быть прочитан и отредактирован только средствами платформы «1С:Предприятие». Открыть такой файл можно программой «1С:Предприятие», установленной на компьютер пользователя или бесплатным редактором файлов форматов 1С «1С:Предприятие-Работа с файлами».

Программу «1С:Предприятие-Работа с файлами» можно бесплатно скачать по адресу http://v8.1c.ru/metod/fileworkshopdownload.htm, описание программы и примеры работы можно увидеть по адресу http://v8.1c.ru/metod/fileworkshop.htm. Данный редактор позволяет открывать и редактировать различные форматы файлов, которые могут быть созданы средствами платформы «1С:Предприятия». Поддерживаются следующие форматы:

  • текстовые документы различных кодировок («*.txt»);
  • табличные документы версий платформы 7.7 и 8 («*.mxl»);
  • HTML-документы («*.htm, *.html»);
  • графические схемы («*.grs»);
  • географические схемы («*.geo»).

В заключение стоит упомянуть, что в программу «1С:Предприятие-Работа с файлами» встроены также календарь и калькулятор, уже знакомые многим по платформе 1С версии 8.

Горящие товары с бесплатной доставкой
 «AliExpress Россия» работает отдельно от глобального «AliExpress» принадлежащего Alibaba. Он не зависит от мировых банковских систем и не попал под санкционный список со стороны США и Великобритании. Из Китая соответственно тоже можно заказывать ничего не опасаясь.

Как правило, у рядового пользователя не возникает необходимости в редактировании файлов данного формата. В случае же, если возникнет необходимость отредактировать такой документ (например, опечатку поправить), пользователь всегда может установить необходимый ему HTML-редактор или бесплатную программу «1С:Предприятие-Работа с файлами», о которой мы уже упоминали.

В заключение, хочется отметить развитые возможности программ «1С:Предприятие» по экспорту своих данных в другие форматы. Это реализовано с целью упростить и облегчить процесс обмена рабочими данными и документами между разнородным программным обеспечением различных организаций.

Загрузка из Excel в 1С 8.3

Код важно отладить со стороны клиента, иначе придется долго дополнительно отстраивать серверную часть программного обеспечения.

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Очень часто приходится использовать данные форматы для обмена данными между несколькими базами, в том числе и отличными от 1С. Как в 1С сохранить документ в Excel: загрузка значений таблицы в файл программно Обращайтесь в форму связи

Обработка расшифровки

После того, как расшифровка заполнена, следует позаботиться об ее обработке.

Если табличный документ открыт в отдельном окне, никаких действий по обработке расшифровки выполнить нельзя. В этом случае расшифровка будет работать в соответствии со своим поведением по умолчанию – то есть, будет открыто значение расшифровки. Для ссылочных типов будет открыта основная форма объекта, для других типов будет отображена строка, представляющая значение расшифровки.

Пример:

В тексте обработчика события можно выполнить любые действия по обработке расшифровки. Например, запустить на исполнение некоторый отчет, передав ему в качестве параметра значение расшифровки.

Табличный документ 1С: Предприятия (*. mxl): как сохранить в другом формате? БУХ.1С, сайт в помощь бухгалтеру

Заполнение расшифровки

Расшифровка представляет собой значение, которое присвоено свойству “Расшифровка” области ячеек табличного документа или рисунку табличного документа. Заполнить данное свойство можно одним из следующих способов:

1. Непосредственно присвоив данному свойству значение.

Этот способ может быть удобным в том случае, если табличный документ заполняется при помощи встроенного языка без использования макета и построителя отчета.

Пример:

В данном примере расшифровка устанавливается первой ячейке первой строки поля табличного документа.

2. Использовать параметр расшифровки и метод “Вывести”.

Часто табличный документ заполняется при помощи макета и метода табличного документа “Вывести”. В таком случае в ячейке макета можно указать свойство “Параметр расшифровки”. При вызове метода “Вывести”, этот параметр будет использован для заполнения значения свойства расшифровки.

Пример:

Отчет выводится при помощи макета. В некоторой ячейке области “Запись” табличного документа содержится параметр расшифровки “Номенклатура”. Результатом выполнения следующего кода будет помещение в данную ячейку значения переменной Номенклатура.

Отметим, что с параметром расшифровки работа ведется также как и с обычными параметрами, размещенными в ячейках макета.

В случае если необходимо поместить в значение расшифровки несколько значений, следует поместить нужные значения в коллекцию, после чего поместить коллекцию в расшифровку.

Пример того, как это можно сделать, воспользовавшись объектом Структура:

Аналогично выполняется заполнение расшифровки рисунка табличного документа.

💥Принимайте участие в опросе и получайте бесплатную консультацию

Related posts

Добавить комментарий

*