Erp невозможно выгрузить текущую таблицу в однородный структурированный файл

Обновлено: 04.07.2024

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

Клиент-Серверный вариант в управляемых формах.

1. Считываем данные из файла в массив из структур и затем этот массив передаем на сервер для дальнейших манипуляций с данными.

2-ой способ - это передать файл Excel на сервер через хранилище данных и далее работать с ним уже на сервере.

Очень часто приходится работать с очень большими файлами Excel, и его обработка путем перебора строк занимает огромное количество времени.

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

На выходе получаем двумерный массив, который содержит все данные указанного листа Excel

Полезные функции при работе с Excel:

Устанавливает видимость Excel при работе
Добавление новой книги в файл Excel
Сохранение книги Excel
Добавление нового листа к книге
Переименование листа
Изменение маштаба листа
Изменение ориентации листа
Отступы листа
Обращение к ячейки
чтение/запись
Обращение к области ячеек
Очень часто при чтении или записи значений в Excel ставятся лишние пробелы в числе, например, вместо 1502 он читает как 1 502 и в дальнейшем это значение не приводится к числу. Эту проблему можно решить заменой.
Объединение ячеек
Работа с именованными ячейками в Excel
Удаление ячейки
Удаление области ячеек
Обращение к строке
Изменение ширины колонки
Обращение к колонке
Удаление Строки
Фон ячейки / области / Строки /
Функция переводит цвет из формата RGB в формат Excel
Управление шрифтом в ячейки/строке/области
Р азрешает переносить по словам в ячейке
Управление рамкой ячейки
Устанавливаем формат ячейки
Формула в ячейки
Формула в ячейки
Формула в ячейки
Формула в ячейки
Функция для получения ширины колонки Excel
Спасибо пользователю goodwill
Разрешить перенос слов в ячейке
Спасибо пользователю roofless
Группировки данных на листе
Спасибо пользователю dr-wit, ignor

При работе с Excel мы оперируем столбцами как числом (Например, 1 столбец), а у Excel адресация столбцов производится с помощью символов. И когда нам нужно отредактировать формулу, то нам нужно номер столбца преобразовать в символ. В таких случаях вам пригодится эта функция.

2. Работа с Excel через ТабличныйДокумент 1С

С помощью данного метода можно и загружать из Excel и выгружать в Excel. Но на мой взгляд этот метод идепально подходит когда вам необходимо посто сохранить информацию в Excel без дальнейшей манипуляции.

Итак, приступим: загрузка из Excel:

1. Загружаем файл Excel в табличный документ

2. Производим манипуляции уже с ТабличнымДокументом

Давайте теперь разберем сохранение в Excel с помощью данного метода:

Тут все очень просто сначала мы формируем обычный Табличный документ и затем записываем его в Excel

2. Работа с Excel ADODB

Выражаю особую благодарность коллеги Fragster за хороший комментарий

Данный метод позволяет работать с Excel через ODBC и имеет ряд преимуществ:

  1. Не требует установки самой Excel, необходима лишь установить ODBC. Но как правило он уже установлен. Это особенность позволяет работать на стороне сервера без дополнительных установок Excel.
  2. Позволяет работать с таблицой Excel как с БД и строить к ней запросы на T-SQL. Таким образом мы можем делать отборы еще на этапе чтения данных и другие преимущества что дает Т-SQL. Что на мой взгляд огромный плюс.

Подключение к ADO

Отключение от ADO


Выполнение запроса

Пример запроса:

Запись в Excel тоже производится в виде запроса:

Хочу отметить что наименование полей производится по первой строке в таблице


ADODB предоставляет ряд объектов, с которыми мы работаем

ADODB.Recordset

В файле продемонстрированны оба варианта работы с запросами.

На этом пока все. По возможности буду дополнять статью :)

В архиве находится обработка, которая демонстрирует все описанные и другие возможности при работе с Excel.

Рассмотрим задачу выгрузки табличной части документа в Excel с сохранением в прикрепленных файлах и загрузки табличной части из прикрепленного файла.

На примере типовых процедур работы с Excel и прикрепленными файлами конфигурации ERP 2.0.

По примеру выгрузки/загрузки в/из Excel документа ПланПродаж конфигурации ERP 2.0 (подробное описание приведенных процедур и функций можно посмотреть в документе ПланПродаж).

Потребуются изменения в следующих объектах:

1. Форма документа (для запуска загрузки/выгрузки)

1.1. Добавить кнопку и команду по выгрузке в Excel (с неотмеченным свойством Изменяет сохраняемые данные)

1.2. Добавить кнопку и команду по загрузке из Excel (с отмеченным свойством Изменяет сохраняемые данные)

1.3. Добавить реквизит формы ИмяДополнительнойКолонки (для заполнения дополнительных колонок Код, Артикул, если нужно)

2. Модуль формы документа (для запуска загрузки/выгрузки)

2.1. Добавить описание команд по выгрузке/загрузке в/из Excel (здесь и далее пример описания процедур и функций можно посмотреть в документе ПланПродаж конфигурации ERP 2.0)

2.2. Добавить в описание события формы ПриСозданииНаСервере заполнение реквизита ИмяДополнительнойКолонки

2.3. Добавить описание события ОбработкаВыбора табличной части, в которую загружаются данные из Excel (для отработки загрузки из Excel, когда все позиции файла определены, например, были выгружены в файл из табличной части документа)

2.4. Добавить описание события формы документа ОбработкаВыбора (для отработки загрузки из Excel, когда не все позиции файла определены, например, были выгружены в файл из табличной части документа, но позже в файл вручную добавили новые позиции)

3. Модуль менеджера документа (для формирования файла Excel и создания присоединенного файла)

3.1. Добавить экспортную функцию СоздатьПрисоединенныйФайлExcel - типовое название для функции (по умолчанию в типовых процедурах используется функция с таким названием)

3.2. Добавить функцию формирования печатной формы для файла – используется в СоздатьПрисоединенныйФайлExcel

4. Документ (для формирования файла Excel)

4.1. Добавить макет для формирования печатной формы – используется в функции формирования печатной формы для файла п. 3.2, можно скопировать макет ПФ_MXL_ПланПродаж и доработать по аналогии (Область колонок УникальныеИдентификаторы – по данным этой области определяются соответствия позиций при загрузке выгруженным ранее позициям. Область колонок КолонкаКодов для вывода данных, если используется ИмяДополнительнойКолонки)

5. Конфигурация (для хранения присоединенных файлов)

5.1. Добавить справочник …ПрисоединенныеФайлы, шаблон названия:

<ИмяДокумента>ПрисоединенныеФайлы, состав справочника можно скопировать из справочника ПланПродажПрисоединенныеФайлы

6. Регистр сведений ПрисоединенныеФайлы (для хранения присоединенных файлов)

6.1. Измерению ПрисоединенныйФайл добавить тип справочника, созданного в п. 5.1

7. Подписки на события (для отработки действий над справочником …ПрисоединенныеФайлы, в т.ч. заполнения реквизита Автор файла)

7.1. ВыполнитьДействияПередЗаписьюПрисоединенногоФайла в Источник добавить тип справочника, созданного в п. 5.1

7.2. ВыполнитьДействияПередУдалениемПрисоединенногоФайла в Источник добавить тип справочника, созданного в п. 5.1

7.3. ВыполнитьДействияПриЗаписиПрисоединенногоФайла в Источник добавить тип справочника, созданного в п. 5.1

7.4. ПереопределитьПолучаемуюФормуПрисоединенногоФайла в Источник добавить тип справочника, созданного в п. 5.1

8.1. Реквизиту ОбъектСФайлами добавить тип справочника, созданного в п. 5.1

9. Общая команда ПрисоединенныеФайлыКОбъекту (для перехода из формы документа к прикрепленным файлам)

9.1. В Тип параметра команды добавить ссылку на документ

10. Обработка ЗагрузкаДанныхИзВнешнихФайлов (для загрузки из прикрепленного файла)

Добавить форму для сопоставления данных файла данным в базе, можно скопировать форму ФормаДляПланов и доработать по аналогии (для ручного сопоставления позиций из файла, для которых не найдено соответствия в базе – используется в ОбработкеВыбора формы документа и при вызове загрузки из Excel из формы документа, если при загрузке найдены позиции, по которым не удалось определить соответствующие элементы в базе, например, были выгружены из табличной части документа, но позже в файл вручную добавили новые позиции)

Ошибки, возникающие при настройке конвертации в формате Enterprise Data. Исправленные обработки и пояснения.

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

Обратимся к исходному примеру, который представлен в конвертации данных в начале работы.

С первым шагом (шаг 1) – все понятно. Нужно для каждой конфигурации, между которыми планируем настраивать обмен, выгрузить структуры информационных баз. С помощью обработки MD83Exp.epf , входящей в комплект поставки. На этом этапе останавливаться не будем, так как он подробно описан в программе. Однако в стандартной обработке MD83Exp.epf скрыты настройки обработки, в связи с этим не выгружаются регистры сведений. Я исправила этот момент, и Вы можете приобрести исправленную обработку. Ссылки в конце страницы.

Следующим действием (шаг 2) предлагается сделать экспорт xml-схемы формата обмена , из любой базы. В этом примере, который рассматривается в конфигурации Конвертация данных xml -схемы одинаковые у обеих баз, так что достаточно сделать экспорт из любой базы. Но в примере не говорится, что если все-таки конфигурации разнятся, то нужно выбрать похожие XDTO-пакеты в базах и экспортировать их. Версия определяется по цифрам, указанным у XDTO-пакета. Например: EnterpriseData_1_3_20 - версия формата 1.3.

Обратите внимание , что версию формата обмена нужно выбирать наиболее оптимальную. Например: в одной конфигурации версия формата последняя 1.6, а в другой конфигурации – 1.5. Следовательно, оптимальный формат будет 1.5.

Сам экспорт xml-схемы формата обмена в программе описан. На картинке ниже я показываю, как это можно сделать.

экспорт xml-схемы формата обмена

Далее в примере предлагается сделать загрузки в конвертацию данных (шаг 3 и шаг 4).

Сначала загружаем структуру информационных баз (по очереди) раздел «Конфигурации» - «Загрузка структуры конфигурации» флаг «В новую версию конфигурации» .

Затем нужно загрузить xml-схему формата обмена. Формат данных – «Загрузка структуры формата» , выбираем ранее выгруженные файлы с расширением «xsd». Выбираем только один файл. Раньше делали Множественный выбор с ExchangeMessage, но это было в старых версиях конфигурации. После загрузки обязательно проверьте структуру формата в разделе Формат данных – Дерево объектов формата – далее выбрать версию формата . Если структура заполнена – там есть документы, справочники, то все в порядке, можно продолжать настройки, иначе выгрузите новую версию и повторите всю процедуру сначала.

Структура формата

Далее в примере (этап 2) предлагается создание конвертации с нуля, однако если у баз уже есть типовые правила обмена, которые достаточно доработать, то можно загрузить эти правила в конфигурацию и работать с ними.

Прежде чем выгружать правила конвертации нужно открыть общий модуль МенеджерОбменаЧерезУниверсальныйФормат . Если это Бухгалтерия Предприятия 3.0, то открываем МенеджерОбменаЧерезУниверсальныйФормат13 . В открытом модуле переходим в меню Файл – Сохранить копию – сохраняем файл с любым именем (например - Модуль ).

Менеджер обмена через универсальный формат

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

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

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

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

Переходим в раздел Конвертация – Загрузка правил синхронизации из файлов , далее заполняем поля. Место загрузки нужно указать «В существующую конвертацию» и указать какую именно. Файл с модулем обмена – нужно указать тот файл, копию которого сохраняли (в этом примере он называется Модуль ). Далее по очереди загружаем каждую выгруженную версию правил, не закрывая настройки, просто выбираете новый каталог обмена.

Загрузка правил синхронизации файлов

Сложностей в загрузке нет никаких. Все интуитивно понятно, только в момент загрузки тоже возникает ошибка "Поле объекта не обнаружено" . Здесь тоже придется либо вносить исправления в конфигурацию Конвертация данных, либо можно воспользоваться уже моим готовым решением. Я сделала расширение для Конвертации данных 3.0 , подключив которое Вы решаете эту проблему. Приобрести расширение и две исправленные обработки, о которых я рассказывала вначале статьи, вы можете приобрести по ссылке ниже.

После загрузки правил можно приступать к их редактированию.

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

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

Доработки проводились на конвертации данных 3.0(3.0.5.3)

Обработки предоставляются пакетом. То есть сразу две исправленные обработки и расширение, так как для работы нужны все перечисленные исправления. Стоимость пакета составляет 159 руб.

В 1С:ERP существует возможность хранить и использовать файлы и изображения в работе с объектами информационной базы.

Использование функционала работы с файлами предполагает три этапа:

  • общая настройка конфигурации;
  • персональные настройки пользователя;
  • работа с файлами.

Первый этап выполняет администратор системы. Второй этап – пользователь с помощью администратора. Работу с файлами осуществляют пользователи конфигурации.

Общие настройки работы с файлами

Настройку выполняет пользователь с ролью Полные права.

Общая настройка конфигурации для работы с файлами осуществляется в разделе НСИ и администрирование – Администрирование – Настройки работы с файлами.

Настройка работы с файлами

Рисунок 1 - Настройка работы с файлами

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

Для работы с файлами предусмотрены следующие возможности:

Персональные настройки пользователя

Персональные настройки пользователя для работы с файлами осуществляются в форме НСИ и администрирование – Сервис – Персональные настройки.

Мои настройки

Рисунок 2 - Мои настройки

В форме Мои настройки – Работа с файлами можно выполнить следующие настройки:

  • Действие при выборе файла – поле задает, что делать системе при выборе файла: открывать файл или открывать его карточку;
  • Выбор режима открытия при выборе файла – если флажок установлен, то перед открытием файла система задаст пользователю вопрос, в каком режиме открывать файл: в режиме просмотра или в режиме редактирования;
  • Показывать подсказки при редактировании файлов (только веб-клиент) – если флажок установлен, то при работе через веб-клиент система будет выводить подсказки о том, как удобнее открыть файл для просмотра или редактирования и как обновить его в информационной базе;
  • Показывать занятые файлы при завершении работы – если флажок установлен и текущий пользователь занял один или несколько файлов, то при завершении работы системы показывается список этих файлов. Пользователь может открыть файл для просмотра, закончить редактирование, открыть карточку файла;
  • Показывать колонку «Размер» в списках файлов – если флажок установлен, то в списках файлов показывается колонка Размер;
  • Показывать информацию, что файл не был изменен – если флажок установлен, то будет выведена подсказка об отсутствии изменения данных в файле;
  • Сравнивать версии при помощи. Функционал работы с файлами позволяет сравнивать версии файлов формата ODT, DOC, RTF, TXT между собой.

Настройка основного рабочего каталога

Рисунок 3 - Настройка основного рабочего каталога

Команда Настройка основного рабочего каталога открывает форму, в которой можно:

  • указать Расположение основного рабочего каталога. Устанавливается системой автоматически. При необходимости путь каталога может быть изменен;
  • в поле Максимальный размер (Мб) указать предел суммарного объема всех файлов в основном рабочем каталоге (по умолчанию 100 Мб).
  • установить флажок Удалять файлы при завершении редактирования. Если флажок установлен, то после переноса файла в информационную базу он удаляется в основном рабочем каталоге. Этот функционал можно использовать, например, для экономии места на жестком диске или в целях повышения безопасности;
  • командой Очистить основной рабочий каталог удалить файлы в основном рабочем каталоге, кроме тех, которые используются в настоящий момент. Если установлен флажок Подтверждать при удалении из основного рабочего каталога, то перед удалением каждого файла пользователю будет выдаваться запрос на удаление;
  • командой Открыть список файлов открыть список файлов основного рабочего каталога. В списке можно удалить ненужные файлы;
  • Прикладное решение позволяет хранить файлы, полученные напрямую со сканера. Для этого необходимо подключить сканер к компьютеру и установить компонент для работы со сканером (команда Настройка сканирования на форме Мои настройки).

Работа с присоединенными файлами

Для работы с файлами у пользователей должны быть установлены роли: Добавление изменение папок и файлов, Настройка синхронизации файлов.

Работа с файлами, прикрепленными к объекту, осуществляется в списке Присоединенные файлы. Список можно открыть соответствующей командой на панели навигации объекта.

Новый файл можно создать в списке соответствующей командой из уже имеющегося файла на диске.

Читайте также: