Выгрузка номенклатуры excel ert
Позволяет выгружать данные справочников, документов, сальдо по счетам из 1С 7.7 (компонента «Бухгалтерский учет» в файлы формата MXL, XLS, DBF.
Полученные файлы удобно использовать для переноса в другие программы.
В разработке применено несколько оригинальных решений:
- выгружается информация из всех реквизитов, в т.ч. и справочников. Т.е. происходит разыменование через точку. Количество уровней разыменования можно настраивать.
- все данные выгружаются в ОДИН файл
- подчиненные справочники могут выгружаться совместно с справочником-владельцем в ОДИН файл
- возможна выгрузка только подчиненного справочника
- в файле Эксель все ячейки форматируются по типу значений, в них содержащихся
- можно ограничить число субконто для анализа при выгрузке
- выгружаются периодические реквизиты
- учитываются разделители учета
- универсальность работы – не зависит от применяемой конфигурации, требуется только компонента «Бухгалтерский учет»
- не подходит для выгрузки регистров из компонент «Оперативный учет» и «Расчет»
- долго формирует файлы Эксель при большом объеме выгрузки. Это связано с тем, что для каждой ячейки форматирование настраивается отдельно. Можно оптимизировать, но пока не было такой необходимости.
- при формировании выгрузки в файл ДБФ поля именуются по-порядку – F1, F2, F3,…Fn. Это связано с ограничением ДБФ на длину имени поля.
- также в ДБФ и MXL файлах не сохраняются поля длиннее 256 символов в связи с ограничениями этих форматов
- имена полей в файле Эксель формируются последовательно, начиная с имени исходного справочника
- ограничение числа субконто работает по порядку. Если на счете используется учет по трем субконто – ОС, МОЛ, Подразделение при установке ограничения в 2 будут выгружены только ОС, МОЛ. При установке ограничения в 1 будут выгружены только ОС. Это полезно применять, когда в новой программе не будет вестись учет в каких-то разрезах. Или когда учет по последнему субконто велся некорректно (есть минусовые остатки, пересортица). Пример некорректного учета по ЭКР:
- при выгрузке справочника и его подчиненных выгрузка идет следующим образом: в каждой строке файла будут содержаться все поля справочника-владельца и поля одного из подчиненных справочников. При загрузке удобно свернуть данную таблицу по справочнику-владельцу и одному из подчиненных – таким образом останутся записи только подчиненного справочника
Для начала работы выберите в настройках "Действие": Загрузка номенклатуры/Выгрузка номенклатуры/Загрузка номенклатуры поставщика.
Следующим выбираем источник загружаемой номенклатуры из файла Excel/mxl(В этом случае нужно заполнить путь к файлу Excel/mxl)
или из таблицы на форме как в примере
По умолчанию считывание начинается со второй строки
За тем нужно выбрать как поступать если Номенклатура найдена/не найдена в базе. Если нужно загружать штрихкоды или иерархический справочник включаем опцию
Настройка Загружать в фоне позволяет включить/выключи загрузку в фоновом режиме, при котором не блокируется пользовательский интерфейс, однако платформа не сразу запускает выполнение фонового процесса, а ставит его в очередь на исполнение и начало загрузки затягивается(порой ожидание больше чем сама загрузка), потому её есть смысл включать если загружаемый файл очень большой(много реквизитов или строк в таблице)
Если Вы выбрали Загружать иерархию или Загружать штрихкод, то в таблице Настройки реквизитов уже будут добавлены строки Родитель и ЭтоГруппа(если выбрали загружать иерархию), Штрихкод(если - Загружать штрихкоды).
Добавляем в таблицу строку и выбираем из списка нужный реквизит. Первая галочка говорит о том, что значение реквизита будет участвовать в поиске, причем Номенклатура будет найдена по любому из выбранных реквизитов(который будет заполнен). Вторая галочка "Из таблицы" означает, что данные будут загружены из выбранного источника. Значение это номер столбца таблицы или заданное значение. Если загрузка из таблицы на форме и названия столбцов совпадают с названиями реквизитов можно воспользоватся кнопкой(Лупа) автозаполнения номеров столбцов.
На вкладке Таблица вставим скопированную информацию или загрузим ее из файла Excel. Если выбрана опция Загружать иерархию и эти реквизиты загружаются Из таблицы, в таблице должны быть заполнены столбцы Родитель и ЭтоГруппа.
На этом настройки для загрузки в справочник номенклатура завершена. Нажимаем кнопку "Загрузить номенклатуру" и ждем окончания загрузки
Нужные настройки достаточно сделать один раз, после чего использовать их при запуске(пункт меню настроек "Сохранять настройки реквизитов при закрытии") или самостоятельно выбирать из нескольких ранее сохраненных (пункт меню настроек "Файл сохраненных настроек реквизитов") . Кроме того настройки восстанавливаются при открытии.
Настройка загрузки номенклатуры поставщика отличается только необходимостью выбора поставщика из списка на вкладке Настройка реквизитов
Настройка выгрузки реквизитов
На вкладке Настройки выгрузки выбираем Выгружать все реквизиты - Нет (если нужно выгрузить все ставим Да) и заполняем названия нужных реквизитов в появившейся таблице
по умолчанию в таблице две колонки, с помощью кнопок меню настроим сколько нужно колонок и порядок реквизитов в таблице выгрузки.
Если нужна не вся номенклатура а только часть необходимо Настроить отбор в соответствующей таблице настроек. Выбираем Связь условий - И, ИЛИ. Связь И означает что условия
накладываются друг на друга и будет выгружена номенклатура удовлетворяющая каждому из них. Связь ИЛИ - любому из них.
На этом настройка выгрузки завершена нажимаем Выгрузить номенклатуру, выбираем папку для сохранения в появившемся окне и получаем файл выгрузки.
Настройка загрузки дополнительных реквизитов:
Выбираем "Действие" - "Загрузка дополнительных реквизитов". В появившейся вкладке ставим номер колонки в которой находится реквизит по которому будет поиск номенклатуры(например 14) и название реквизита (например "Наименование"). Затем выбираем "Вид номенклатуры"(к примеру "Соки")
Обработку можно подключить как внешнюю средствами БСП.
А связи с обновлением имен справочников выкладываю новую версию 1.3 обработки.
Версия 1.2 тестировалась на УТ 11.3.2.193 и УТ 11.4.2, версия 1.3 тестировалась на УТ 11.4.13.47.
Выгрузка в 1С из v7.7 стандартными средствами
Сохранение в эксель в 7.7 возможно только сформированных табличных документов, например отчетов.
Далее следует задать имя файла (если не подходит предложенное системой), путь сохранения и поменять тип на Таблица Excel:
Всё! Данные в 1С выгружены:
Выгрузка данных из 1С v. 8.3 (8.2, 8.1)
Производится также из табличного документа, но платформа умеет выводить в табличный документ списочные данные.
Данная команда позволяет вывести видимые колонки.
В обычных формах данную команду можно вызвать правой кнопкой на списке.
В следующем диалоге выбираем нужные колонки:
В результате сформируется табличный документ, который доступен для сохранения.
Обратите внимание: восьмерка более современная, для сохранения доступен более широкий список форматов.
Также следует заметить:
Выгрузка в Excel доступна также через функционал БСП (библиотеки стандартных подсистем), который используется в большинстве типовых решений 1С.
Сохранение в Excel программным путем
Вариант 1: вызов сохранения табличного документа
Вариант 2: использование объекта Excel.Aplication
Данная возможность доступна в среде Windows, желательно исполнение данного кода на стороне клиента, либо требуется дополнительная настройка серверной части.
Простой способ выгрузки в таблицу Excel
Кладовщику нужно выгрузить список всей номенклатуры, у которой не установлена пометка удаления. Поля для выгрузки:
- Наименование.
- Артикул.
- Вид номенклатуры.
- Тип номенклатуры.
Программируем
Чтобы выгрузить номенклатуру в XLS-файл сформируем запрос к базе данных для получения номенклатуры и поместим результат в табличную часть обработки выгрузки. Вот форма обработки:
По нажатию на кнопку "Заполнить" заполняется табличная часть "ДанныеВыгрузки" обработки, у которой добавлены соответствующие реквизиты. Обработчик этой кнопки имеет следующий программный код:
Здесь все должно быть понятно. Самое интересное начинается по нажатию на кнопку "Сохранить". Сначала вызывается диалог выбора пути для сохранения таблицы XLS. Затем, используя данные в табличной части обработки, заполняется табличный документ по созданному ранее макету. Макет, добавленный в обработку, следующий:
Полный код обработчика кнопки "Сохранить" представлен на следующем листинге:
После сохранения, на диске буде файл таблицы Excel со списком выгруженной номенклатуры. Пример файла Вы могли видеть в начале статьи.
Пользователь может сам
На самом деле участи программиста для подобной задачи не нужно. Пользователь все сам может сделать без каких-либо хитростей.
Например, перейдя в список номенклатуры и выполнив команду "Все действия" -> "Вывести список" из списка номенклатуры, пользователь получит список номенклатуры в сформированном табличном документе.
После того, как табличный документ будет сформирован, нажав на кнопку "Сохранить" или через меню "Файл->Сохранить" пользователь может записать табличный документ в файл XLS указав его имя и конечный каталог.
Вот и все! Никакой обработки для выгрузки не нужно. Конечно, если у вас достаточно простой случай с выгрузкой данных.
Так все просто?
Действительно все просто, никаких внешних компонент подключать не нужно. К тому же, мы можем выполнить выгрузку таким способом не только в файлы формата таблиц Excel, но и другие форматы, поддерживаемые платформой.
Обработку с примером из статьи Вы можете скачать по ссылке .
Читайте также: