Автор Белкет, 11 сен 2020, 16:04
0 Пользователей и 1 гость просматривают эту тему.
Здравствуйте.
Подскажите, можно ли создать макет печатной формы на основе MS Excel? Есть ли такой функционал, чтобы 1С брал макет из Excel. Выгрузка в Excel мне не нужна, мне нужно чтобы это работало в рамках 1С.
Или вручную делать макет как в Excel?
Цитата: Рестарт от 11 сен 2020, 21:10
Можно узнать решение?
Файл — Открыть — Тип файла: 1С файлы — Выбрать документ MS Excel — Открыть. Все оказалось намного проще, чем предполагалось.
Только есть несколько НО:
1. Посмотрите есть ли в Тип файла: 1С файлы формат *.xls или *.xlsx (просто на рабочем компьютере у меня отсутствуют эти форматы, а на домашнем есть. Хотя и там и там 1С: Предприятие 8.3) Если удалось открыть файл, то открывается табличный документ где показывается шаблон. И дальше Ctrl+C и Ctrl+V(в тот макет, который нужно вставить шаблон). Я выделял только столбцы, нажимал Ctrl+C, переходил в макет который нужно вставить, выделял такое же количество столбцов и нажимал Ctrl+V и все прекрасно перенеслось.
2. Если в MS Excel уже были настроены границы печати, то в 1С они слетают. Пришлось вручную настраивать высоту строк, чтобы все влезло. Но весь вбитый текст и его расположение сохранилось на макете, слетела именно высота каждой строки.
- Форум 1С
-
►
Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4 -
►
Конфигурирование, программирование в 1С Предприятие 8 -
►
Макет печатной формы на основе MS Excel
Похожие темы (5)
Поиск
Содержание
- Как из файла excel в сделать макет для 1с?
- Перенос данных из Эксель в 1С
- Подготовка данных
- Подключение внешнего загрузчика
- Загрузка данных
- Помогла ли вам эта статья?
- Универсальный механизм
- Колонки «Настройки»
- Загрузка данных через буфер обмена
- Варианты обработки переноса своими руками
- Через ADODB.Connection
- Через Excel приложение
- Несколько слов о возможных ошибках
Как из файла excel в сделать макет для 1с?
Уже давно самой популярной программой среди бухгалтеров, планировщиков, экономистов и управленцев стало приложение 1C. Оно имеет не только разнообразное количество конфигураций для различных видов деятельности, но и локализации под стандарты учета в нескольких странах мира. Все больше предприятий переходят на ведение учета именно в этой программе. Но процедура переноса данных вручную из других программ учета в 1C — довольно долгое и скучное занятие, отнимающее массу времени. Если на предприятии велся учет с помощью Excel, то процесс переноса можно существенно автоматизировать и ускорить.
Перенос данных из Эксель в 1С
Производить перенос данных из Excel в 1С требуется не только на начальном периоде работы с данной программой. Иногда наступает необходимость подобного, когда по ходу деятельности нужно занести какие-то списки, хранящиеся в книге табличного процессора. Например, если требуется перенести прайс-листы или заказы из онлайн-магазина. В случае, когда списки небольшие, то их можно вбить и вручную, но что делать, если они содержат сотни наименований? Для того, чтобы ускорить процедуру, можно прибегнуть к некоторым дополнительным возможностям.
Для автоматической загрузки подойдут практически все типы документов:
- Список номенклатуры;
- Список контрагентов;
- Список прайсов;
- Перечень заказов;
- Информация о покупках или продажах и т.д.
Сразу нужно отметить, что в 1С нет встроенных инструментов, которые позволяли бы переносить данные из Эксель. Для этих целей нужно подключить внешний загрузчик, который представляет собой файл в формате epf.
Подготовка данных
Нам нужно будет подготовить данные в самой таблице Excel.
- Любой список, загружаемый в 1С, должен быть однородно структурирован. Нельзя выполнять загрузку при наличии в одном столбце или ячейке данных нескольких типов, например, имя человека и его телефонный номер. В этом случае, такие двойные записи обязательно следует разделять в разные столбцы.
- Не допускается наличия объединенных ячеек даже в заголовках. Это может привести к некорректным результатам при переносе данных. Поэтому, если объединенные ячейки имеются, их нужно разделить.
- Если исходную таблицу сделать максимально простой и понятной, без применения относительно сложных технологий (макросы, формулы, комментарии, сноски, лишние элементы форматирования и т.д.), то это поможет максимально предотвратить проблемы на дальнейших шагах переноса.
- Обязательно следует привести наименование всех величин к единому формату. Не допускается наличие обозначения, например, килограмм, отображаемого разными записями: «кг», «килограмм», «кг.». Программа будет их понимать как разные величины, поэтому нужно выбрать один вариант записи, а остальные исправить под этот шаблон.
- Обязательно наличие уникальных идентификаторов. В их роли может выступать содержимое любого столбца, которое не повторяется в других строках: индивидуальный налоговый номер, артикул и т.д. Если в существующей таблице нет столбца с подобным значением, то можно добавить дополнительную колонку и произвести там простую нумерацию. Это нужно для того, чтобы программа смогла идентифицировать данные в каждой строке отдельно, а не «сливала» их вместе.
- Большинство обработчиков файлов Эксель не работает с форматом xlsx, а только с форматом xls. Поэтому, если наш документ имеет расширение xlsx, то нужно его конвертировать. Для этого переходим во вкладку «Файл» и жмем на кнопку «Сохранить как».
Открывается окно сохранения. В поле «Тип файла» по умолчанию будет указан формат xlsx. Меняем его на «Книга Excel 97-2003» и жмем на кнопку «Сохранить».
После этого документ будет сохранен в нужном формате.
Кроме этих универсальных действий по подготовке данных в книге Эксель, нужно будет ещё привести документ в соответствие с требованиями конкретного загрузчика, который мы будем использовать, но об этом мы поговорим чуть ниже.
Подключение внешнего загрузчика
Подключить внешний загрузчик с расширением epf к приложению 1С можно, как до подготовки файла Эксель, так и после. Главное, чтобы к началу процесса выполнения загрузки оба этих подготовительных момента были решены.
Существует несколько внешних загрузчиков таблиц Эксель для 1С, которые созданы различными разработчиками. Рассматривать мы будем пример с использованием инструмента для обработки информации «Загрузка данных из табличного документа» для версии 1С 8.3.
- После того, как файл в формате epf скачан и сохранен на жестком диске компьютера, запускаем программу 1С. Если файл epf упакован в архив, то его предварительно нужно извлечь оттуда. На верхней горизонтальной панели приложения жмем на кнопку, запускающую меню. В версии 1С 8.3 она представлена в виде вписанного в оранжевую окружность треугольника, перевернутого углом вниз. В появившемся списке последовательно переходим по пунктам «Файл» и «Открыть».
- Запускается окно открытия файла. Переходим в директорию его расположения, выделяем тот объект и жмем на кнопку «Открыть».
- После этого загрузчик запустится в 1С.
Скачать обработку «Загрузка данных из табличного документа»
Загрузка данных
Одной из основных баз данных, с которыми работает 1C, является список номенклатуры товаров и услуг. Поэтому для описания процедуры загрузки из Excel остановимся на примере переноса именно этого типа данных.
- Возвращаемся к окну обработки. Так как мы будем загружать номенклатуру товаров, то в параметре «Загрузка в» переключатель должен стоять в позиции «Справочник». Впрочем, он так установлен по умолчанию. Переключать его следует только тогда, когда вы собрались переносить другой тип данных: табличную часть или регистр сведений. Далее в поле «Вид справочника» кликаем по кнопке, на которой изображено многоточие. Открывается выпадающий список. В нем нам следует выбрать пункт «Номенклатура».
- После этого обработчик автоматически расставляет те поля, которые программа использует в этом виде справочника. Нужно сразу отметить, что совсем не обязательно заполнять все поля.
- Теперь опять открываем переносимый документ Excel. Если наименование его колонок отличается от наименования полей справочника 1С, которые содержат соответствующие, то нужно переименовать эти столбцы в Экселе так, чтобы названия полностью совпадали. Если в таблице имеются столбцы, для которых в справочнике нет аналогов, то их следует удалить. В нашем случае такими столбцами являются «Количество» и «Цена». Также следует добавить, что порядок расстановки столбцов в документе должен строго совпадать с тем, который представлен в обработке. Если для некоторых столбцов, которые отображены в загрузчике, у вас нет данных, то эти колонки можно оставлять пустыми, но нумерация тех столбцов, где имеются данные, должна совпадать. Для удобства и быстроты редактирования можно применять специальную возможность Эксель для быстрого перемещения колонок местами.
После того, как данные действия произведены, жмем на значок «Сохранить», который представлен в виде пиктограммы, изображающей дискету в верхнем левом углу окна. Затем закрываем файл, нажав на стандартную кнопку закрытия.
Урок: Как поменять столбцы местами в Excel
Мы проследили процедуру добавления данных в справочник номенклатуры в программе 1C 8.3. Для других справочников и документов загрузка будет проводиться по тому же принципу, но с некоторыми нюансами, с которыми пользователь сможет разобраться самостоятельно. Также нужно заметить, что у различных сторонних загрузчиков процедура может отличаться, но общий подход остается у всех одинаковый: сначала обработчик загружает из файла информацию в окно, где производится её редактирование, а уже потом она добавляется непосредственно в базу данных 1С.
Мы рады, что смогли помочь Вам в решении проблемы.
Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
Загрузка данных из Excel в 1С, как правило, нужна в следующих случаях:
- При выполнении обменом информацией между контрагентами (прайс-листы, акты сверки и т.д.);
- Для облегчения работы операторов в случаях, когда основной учет ведется в 1С, а некоторая его часть выполняется в таблицах Excel;
- При первичном заполнении базы данных.
Для выполнения этой операции можно использовать как типовой функционал, доступный при наличии подписки на информационно-технологическое сопровождение (ИТС), так и самостоятельно написанные обработки, реализованные через различные варианты подключения. В нашей статье мы постараемся максимально полно разобрать все возможные случаи и ответить на большинство существующих вопросов относительно загрузки данных из Excel в 1С.
Универсальный механизм
На дисках ИТС, а также на портале 1С, зайдя в меню «Технологическая поддержка» -> «Универсальные отчеты и обработки», в папке «Загрузка данных из табличного документа» находится соответствующая обработка.
При ее запуске открывается форма (Рис.1):
Как видно из формы, она позволяет выполнять перенос информации в следующие объекты конфигурации:
- Справочник;
- Табличную часть документа или справочника;
- Регистр сведений.
В зависимости от того, в какое положение установлен переключатель, меняется поле выбора объекта.
Табличная форма обработки заполняется при открытии загружаемого файла.
Типовая обработка поддерживает выгрузки из:
- Разработанного специалистами фирмы 1С, файлов форматаmxl;
- Листаxls, сохраненного в форматеExcel 97-2003;
- Текстового файлаtxt;
- Таблицыdbf.
Excel файлы большого объема могут загружаться достаточно долго, так что, если предполагается, что загрузка данных может происходить в несколько этапов или Вы точно знаете, что Вам придется несколько раз открывать существующий файл, для экономии нервов и времени, информацию из него лучше сохранить в mxl формат. Сделать это можно напрямую из формы обработки.
Важно понимать, что, если в исходном файле существуют группировки строк, подзаголовки и примечания, их надо будет удалить вручную.
Теперь перейдем к закладке «Настройка» (Рис.2):
Достаточно часто экселевские таблицы содержат шапку со всевозможными реквизитами и данными (наименование печатной формы, реквизиты контрагента, дату и номер входящего документа, имена колонок и так далее), чтобы исключить их обработку программой на форме, в реквизите «Первая строка табличного документа» надо указать первую строку с переносимой информацией
После выбора объекта метаданных, в который будет производиться запись информации, табличная часть закладки «Настройка» будет автоматически заполнена именами реквизитов, описанием их типов и другой важной информацией. Рассмотрению колонок табличной части закладки «Настройка» следует посвятить отдельный раздел.
Колонки «Настройки»
Пометка – установкой или снятием флажка в строке определяется, будет ли заполняться соответствующий реквизит.
Представление реквизита – здесь прописывается синоним (наименование) реквизита метаданных, как оно задано в конфигураторе.
Поле поиска – если установить галочку в это поле, обработка будет осуществлять поиск элементов по соответствующему реквизиту и, в случае успеха, изменять существующие данные, дополнительная функция этого поля – защита от появления дубликатов.
Описание типов – отображает тип данных, который имеет тот или иной реквизит метаданных.
Режим загрузки – предлагает три варианта на выбор (Рис.3):
- Искать – будет осуществляться поиск соответствующего элемента, в случае его отсутствия может быть создан новый;
- Устанавливать – подчиненным образом устанавливается определенное значение;
- Вычислять – в этом случае в поле создаваемого элемента будет установлен результат вычисления выражения, указанного в колонке «Условие связи/Выражение для значения».
В последнем случае, активация поля Выражение вызовет открытие формы (Рис.4).
Номер колонки – поле, используемое для указания, из какой колонки экселевской таблицы необходимо брать данные для заполнения.
Значение по умолчанию – достаточно часто возникает ситуация, когда в загружаемом файле содержатся не все необходимые для записи элемента данные, в этом случае для заполнения будет проставлена информация, содержащаяся в данном поле.
Условие связи/Выражение для значения – частично мы уже коснулись этого поля, когда рассматривали вычисляемые поля, дополнительно в нем можно указать условие, в соответствии с которым будут синхронизированы исходные данные.
Вот, в принципе и вся информация, которая доступна на закладке «Настройка».
Чтобы каждый раз не убивать много времени на загрузку, прописывание соответствий и выражений, разработчики предусмотрели возможность сохранения варианта настройки в файл с расширением mxlz.
Проверить корректность переносимых данных можно нажатием на кнопку «Контроль заполнения» (Рис.1). После этого можно запускать процесс загрузки. Об успешном выполнении процедуры или нестандартных ситуациях Вы будете оповещены отдельно.
Загрузка данных через буфер обмена
Для загрузки данных из Экселя в информационных базах «Управление и торговля» существует еще один механизм. Он менее универсален, чем приведенный выше способ, однако не требует подписки ИТС и содержится в типовой поставке.
Эту обработку можно найти на закладке «Закупки» , в меню «Сервис», она носит наименование «Загрузка цен поставщика из файлов»(Рис.5)
Форма обработки содержит:
- Поле выбора даты, которая будет указывать, на какое время актуальна данная цена;
- Поле выбора контрагента, который прислал свой прайс-лист;
- Кнопку, позволяющую выбрать тип устанавливаемых цен;
- Табличную часть, которую можно заполнить загружаемыми данными.
Эту форму можно увидеть на Рис.6
Пояснение в верхней части формы объясняет, как пользоваться первой закладкой формы.
После выбора контрагента (в зависимости от того, выступает он поставщиком, комиссионером или продавцом) в таблице станут доступны дополнительные колонки для каждого типа цен.
При работе через веб-интерфейс, в некоторых браузерах может потребоваться установка браузерного дополнения (Рис.7). Нам надо нажать кнопку «Начать установку» и перезапустить наше подключение.
После этого мы, используя буфер обмена, сможем переносить информацию из одной таблицы в другую. Когда необходимые нам колонки («Артикул», «Наименование», «Цена») будут заполнены, мы нажимаем кнопку «Далее» и переходим на вторую страницу (Рис.8)
Программа автоматически выполнит поиск соответствий внутри базы данных и, в случае, если таковых не найдется, предложит варианты устранения ошибки. Внешний вид табличной части можно контролировать с помощью переключателя. Кроме того, пользователь может самостоятельно сопоставить элементы загружаемого файла имеющимся в базе данным.
Второе нажатие на кнопку «Далее» открывает перед нами форму, в которой мы должны определить, что делать с загружаемыми ценами:
- Регистрировать все подряд;
- Регистрировать только те, которые изменились по сравнению с уже имеющимися в базе.
В текстовом поле можно внести комментарий, который будет записан в документе (Рис.9):
После выполнения обработки:
- В справочнике «Номенклатура поставщика» будет создан соответствующий элемент (если его не было);
- Ему будет сопоставлен элемент справочника «Номенклатура»;
- Будет создан и проведен документ «Установка цен номенклатуры» с указанием: поставщика, типа цен и даты фиксации данных.
Аналогичным образом работает обработка «Загрузка товаров из внешних файлов».
Варианты обработки переноса своими руками
Главная проблема в выдергивании данных из экселевского файла заключается в том, что 1С не имеет встроенного однозначного механизма его открытия. Существуют несколько вариантов подключения Excel к 1С:
- Через Microsoft ADODB – достаточно быстрый способ, который, как правило, применим и для файлового и для клиент-серверного варианта хранения базы;
- Через использование Microsoft Office – метод, который иногда сбоит при работе с SQL базами, как правило, работает несколько медленнее первого способа, к тому же требуется установленный Office;
- Через Libre Office – в отличие от предыдущего метода бесплатен, помимо xls и xlsx форматов поддерживает еще и собственные таблицы, но требует установленного пакета LibreOffice и некоторой подготовки загружаемого файла (первая строка таблицы должна содержать имена колонок).
Рассмотрим подробнее различные способы и варианты.
Через ADODB.Connection
Вообще ADO расшифровывается как ActiveX Data Object и служит для программного доступа к различным базам данных. Самая большая проблема при создании любого подключения к стороннему файлу (в том числе и к экселевскому) – грамотно составить строку подключения.
Для файлов Excel тут возможны три варианта:
- Если на компьютере установлено программное обеспечение Microsoft Access Database Engine 2010 Redistributable 32/64 bit, можно использовать строку (Рис.10); Рис.10
- Стандартное Windows подключение через драйвер Jet.OLEDB.4.0 будет выглядеть следующим образом (Рис.11) правда, открывать через эту строку таблицы, созданные в Microsoft Office 2007 и более поздних версиях (расширение xslx) невозможно; Рис.11
- Кроме этого, можно вызвать драйвер для Эксель, используемый в системе по умолчанию для этих таблиц (Рис.12); Рис.12
Параметры строки подключения:
- Provider – здесь определяется используемый драйвер;
- Data Source – определяет имя файла, который мы будем открывать;
- Extended Properties – здесь можно указать: нужна ли строка-заголовок для таблицы (HDR = YES говорит о том, что данные будут считываться с первой строки, HDR = NO – что со второй), открывается ли файл только для чтения (ReadOnly) и некоторые другие дополнительные параметры.
Создав строку подключения, мы можем соединиться с загружаемым файлом (Рис.13)
Теперь мы можем с помощью простого запроса (Рис.14) запустить выборку информации из загружаемого файла.
В данном случае параметр «Лист» определяет, с каким листом из экселевской книги нам предстоит работать.
Набор записей, хранящихся на листе можно прочитать с помощью объекта Recordset. При этом первую запись листа можно получить параметром BOF (начало файла), а последнюю EOF (конец файла).
Через Excel приложение
Главное отличие от предыдущего способа – помимо драйверов работы с базами данных, на компьютере, где выполняется соединение, должен быть установлен Excel. Только в этом случае мы можем инициализировать приложение для чтения данных из таблицы (Рис 16).
У этого COM объекта есть несколько дочерних параметров, но главным для нас, при текущих условиях задачи, является параметр WorkBooks (Рис.17).
После инициализации книги необходимо определить лист, с которого будут считываться данные (Рис.18).
После этого можно перебирать внутри циклов строки и колонки таблицы открываемого файла.
Несколько слов о возможных ошибках
Львиная доля ошибок при подключении к файлу возникает из-за того, что файл уже занят другим приложением. Хорошо, если в панели задач видно, что Excel запущен на компьютере, но если Вы или другой пользователь открыли его из внешней обработки, визуально это можно определить только через «Диспетчер задач», так что не забывайте перед окончанием процедуры переноса закрыть подключение:
В случае работы через ADO (Рис.19);
- В случае работы с приложением (Рис. 20).
Подключение и процедуру завершения работы с данными лучше всего организовывать внутри конструкции Попытка-Исключение-КонецПопытки, вызывая в исключительной ситуации описание ошибки. Хоть это иногда и замедляет работу, но существенно упрощает определение причины возникновения ошибки и, в конечном счете, способов её устранения.
Изменены ставки экологического сбора. Постановление Правительства РФ от 31.10.2018 N 1293 …
Добавлены коды налоговых льгот по земельному налогу и налогу на имущество. Письмо ФНС России от 31.10.2018 N БС-4-21/21254@ …
Правительство России ужесточило контроль над мессенджерами. Новые правила, исключающие возможность анонимного использования систем обмена сообщениями, уже подписаны Дмитрием Медведевым …
Представители компаний IBM и Red Hat объявили о достижении окончательного соглашения, согласно которому IBM приобретет акции Red Hat стоимостью 34 …
Фирма «1С» активно развивает свое решение для малого бизнеса. На 2019 год намечен выход существенно обновленного релиза «1С:УНФ» 1.6.17. Часть новшеств …
В КНР запускают «систему социального доверия», которая позволит оценить порядочность граждан страны по балльной системе. «Двоечникам» запретят покупать билеты на …
«Билайн» принял на работу робота RobBee для повышения оперативности процессов проверки и учета кассовых операций. В компании утверждают, что по …
Все мы любим рассказывать о своих успехах и не очень любим распространяться о неудачах. Но опыт ошибок зачастую более ценен, …
Опыт решения проблем. 1. Проблема с СКД преобразованием запроса при отключении режима совместимости …
Поговорим о неплатформенных индексах для информационных баз 1С. Об особенностях их использования, целесообразности и подводных камнях …
Встречайте новую версию 1.6.16! В этой версии мы подготовили для вас множество интересных и полезных проектов: 🍁 Полная функциональность решения …
«1С» обновила предложение для микробизнеса: коробочные версии дорожают, цены на облака снижаются, а расчет налогов и сдачу отчетности включили в …
В официальном блоге разработчиков фирмы «1С» появилась заметка об устранении недостатков и повышении производительности динамических списков. В платформу добавлена возможность …
Она позволит создать открытую экосистему решений для автоматизации, в которых используются роботы совместно с облачными вычислениями …
Источник
Есть некий двухэтажный документ, для которого нужно создать печатную форму, в верхней части которой указаны некоторые реквизиты шапки документа, а в нижней части — содержимое подчинённого уровня (например, список номенклатуры).
1) Из Конфигуратора запускаем FabiusClient «в режиме отладки».
Открываем (как для обычного ввода документов) нужный тип документа и тут же — на уровне «шапок» — нажимаем иконку Печать:
2) В окне открывшегося списка печатных форм нажимаем на «Расширенный режим»:
Кнопки в голубых рамках относятся к уже созданным ранее формам, а кнопки в зелёных рамках — это создание новых форм.
С помощью «Мастера» можно построить «стандартный отчёт«.
Нажимаем на «Мастер» (Создать форму с помощью мастера) и заполняем «Имя» (группа Прочие) в нижней части карточки и, при необходимости, другие свойства новой печатной формы, в частности «Отдельный отчёт по отмеченным», «Признак отпечатанности», «Редактирование предпросмотра», шрифты, … .
Кнопка «Дальше» внизу.
Дальнейшие действия — на примере документа Списание Номенклатуры.
Наша задача — создать печатную форму, в которой
- в шапке будет наименование организации
а данные цена, количество, сумма, дата и номер документа
будут сгруппированы по получателям, а внутри них — по датам.
В следующем окне нам нужно пометить реквизиты, которые собираемся распечатывать:
- в СписаниеТМЦ (это шапки документов списания) нам нужны «получатель» ТМЦ, «дата» и «номер» документа — помечены красным на рисунке ниже;
- на уровне номенклатуры (это НоменклатураДокументаКоллекция) тоже помечаем нужные реквизиты — помечены зелёным:
Следующее окно «Формирование групп элементов отчёта» пропускаем кнопкой Дальше внизу.
В следующем окне — Шаблоны представления отчётов — помечаем единственный возможный вариант Табличное представление и кнопкой Дальше переходим на последнее окно, где нажимаем кнопку Финиш внизу.
Сформировать отчёт Да.
3) Открывается заготовка печатной формы, в которой в детальную полосу помещено наше «любое поле», выбранное выше.
Переходим на закладку Макет:
Кликаем мышкой на голубую метку детальной полосы Detail, становится активной кнопка Сброс. Ею удаляем автоматически созданную детальную полосу.
(Детальную полосу мы встроим позднее в свой шаблон.)
Выделяем цветом все автоматические созданные строки печатной формы и удаляем их. Получаем пустую Excel-таблицу.
4) Загружаем свой шаблон — самая первая кнопка закладки Макет на предыдущем рисунке.
Выделяем все значащие ячейки шаблона и на закладке Разметка страницы фиксируем область печати:
5) Привязываем реквизиты первичного документа (_ОсновнойИсточник), перетаскивая их из окна Список полей на шаблон.
В том числе — при необходимости — привязываем к шаблону и реквизиты будущей детальной полосы, заполняя её реквизитами подчинённого уровня (например, списка номенклатуры):
В любом порядке
— перетаскиваем реквизиты списка номенклатуры на шаблон в строку детальной полосы
— обозначаем местоположение детальной полосы (в нашем примере она есть):
выделяем ячейки, образующие детальную полосу, и на закладке макет нажимаем на кнопку Детальная полоса.
Если ошиблись в указании детальной полосы, кликаем на голубую метку Detail текущей детальной полосы и удаляем её, как на рисунке в пункте 3).
Обратите внимание — справа внизу на этом рисунке: в окне Уровни привязки нужно указать, что Детальная полоса «привязана» к подчинённому уровню нашего документа.
6) Выходим с сохранением своей печатной формы:
Если нажать на «Сохранить в Entity» (красный прямоугольник), изменения печатной формы будут отражены в общей конфигурации (которую потом сравниваем с эталонной):
- …FabiusNetExeOutServerSYSTEMPrintTemplateимяПечатнойФормы.repx и в reps.xlm на одну папку выше.
- В этом случае позже в Конфигураторе обязательно нужно выполнить сохранение (закладка Дерево — Сохранить).
Если нажать на «Сохранить» (розовый прямоугольник), изменения печатной формы будут отражены как частные (не попадут в эталон):
- …FabiusNetExeOutServerPRIVATEPrintTemplateимяПечатнойФормы.repx и в reps.xlm на одну папку выше.
Если выйти из шаблона обычным крестиком завершения работы справа вверху, изменения будут сохранены как частные (в каталоге PRIVATE).
Если выполнить сохранение в списке печатных форм:
изменения будут сохранены «в Entity» (SYSTEM).
Если удалить печатную форму из этого списка (красный крестик рядом с дискетой сохранения), удаление произойдёт «из Entity» (из каталога SYSTEM).
7) Для продолжения работы по созданию печатной формы снова нажимаем иконку Печать — см. пункт 1) этого описания.
Выбираем в левой части нужную печатную форму (пока она всего одна) и нажимаем кнопку Редактировать.
А далее см. пункт 5).
При необходимости можно править С#-текст, который автоматически генерируется для описания печатной формы:
на закладке Главная нажимаем кнопку Генерируемый источник:
Выбираем (если будет предложен выбор) Visual Studio и справа в окне Solution Explorer встаём на GenericPrintFormSource.cs.
Если умеете, можете править текст слева.
Смотрите также
Инструкция по разработке Печатных форм
Содержание
- 1 Перенос данных из Эксель в 1С
- 1.1 Подготовка данных
- 1.2 Подключение внешнего загрузчика
- 1.3 Загрузка данных
- 1.4 Помогла ли вам эта статья?
- 2 Универсальный механизм
- 3 Колонки «Настройки»
- 4 Загрузка данных через буфер обмена
- 5 Варианты обработки переноса своими руками
- 6 Через ADODB.Connection
- 7 Через Excel приложение
- 8 Несколько слов о возможных ошибках
Уже давно самой популярной программой среди бухгалтеров, планировщиков, экономистов и управленцев стало приложение 1C. Оно имеет не только разнообразное количество конфигураций для различных видов деятельности, но и локализации под стандарты учета в нескольких странах мира. Все больше предприятий переходят на ведение учета именно в этой программе. Но процедура переноса данных вручную из других программ учета в 1C — довольно долгое и скучное занятие, отнимающее массу времени. Если на предприятии велся учет с помощью Excel, то процесс переноса можно существенно автоматизировать и ускорить.
Производить перенос данных из Excel в 1С требуется не только на начальном периоде работы с данной программой. Иногда наступает необходимость подобного, когда по ходу деятельности нужно занести какие-то списки, хранящиеся в книге табличного процессора. Например, если требуется перенести прайс-листы или заказы из онлайн-магазина. В случае, когда списки небольшие, то их можно вбить и вручную, но что делать, если они содержат сотни наименований? Для того, чтобы ускорить процедуру, можно прибегнуть к некоторым дополнительным возможностям.
Для автоматической загрузки подойдут практически все типы документов:
- Список номенклатуры;
- Список контрагентов;
- Список прайсов;
- Перечень заказов;
- Информация о покупках или продажах и т.д.
Сразу нужно отметить, что в 1С нет встроенных инструментов, которые позволяли бы переносить данные из Эксель. Для этих целей нужно подключить внешний загрузчик, который представляет собой файл в формате epf.
Подготовка данных
Нам нужно будет подготовить данные в самой таблице Excel.
- Любой список, загружаемый в 1С, должен быть однородно структурирован. Нельзя выполнять загрузку при наличии в одном столбце или ячейке данных нескольких типов, например, имя человека и его телефонный номер. В этом случае, такие двойные записи обязательно следует разделять в разные столбцы.
- Не допускается наличия объединенных ячеек даже в заголовках. Это может привести к некорректным результатам при переносе данных. Поэтому, если объединенные ячейки имеются, их нужно разделить.
- Если исходную таблицу сделать максимально простой и понятной, без применения относительно сложных технологий (макросы, формулы, комментарии, сноски, лишние элементы форматирования и т.д.), то это поможет максимально предотвратить проблемы на дальнейших шагах переноса.
- Обязательно следует привести наименование всех величин к единому формату. Не допускается наличие обозначения, например, килограмм, отображаемого разными записями: «кг», «килограмм», «кг.». Программа будет их понимать как разные величины, поэтому нужно выбрать один вариант записи, а остальные исправить под этот шаблон.
- Обязательно наличие уникальных идентификаторов. В их роли может выступать содержимое любого столбца, которое не повторяется в других строках: индивидуальный налоговый номер, артикул и т.д. Если в существующей таблице нет столбца с подобным значением, то можно добавить дополнительную колонку и произвести там простую нумерацию. Это нужно для того, чтобы программа смогла идентифицировать данные в каждой строке отдельно, а не «сливала» их вместе.
- Большинство обработчиков файлов Эксель не работает с форматом xlsx, а только с форматом xls. Поэтому, если наш документ имеет расширение xlsx, то нужно его конвертировать. Для этого переходим во вкладку «Файл» и жмем на кнопку «Сохранить как».
Открывается окно сохранения. В поле «Тип файла» по умолчанию будет указан формат xlsx. Меняем его на «Книга Excel 97-2003» и жмем на кнопку «Сохранить».
После этого документ будет сохранен в нужном формате.
Кроме этих универсальных действий по подготовке данных в книге Эксель, нужно будет ещё привести документ в соответствие с требованиями конкретного загрузчика, который мы будем использовать, но об этом мы поговорим чуть ниже.
Подключение внешнего загрузчика
Подключить внешний загрузчик с расширением epf к приложению 1С можно, как до подготовки файла Эксель, так и после. Главное, чтобы к началу процесса выполнения загрузки оба этих подготовительных момента были решены.
Существует несколько внешних загрузчиков таблиц Эксель для 1С, которые созданы различными разработчиками. Рассматривать мы будем пример с использованием инструмента для обработки информации «Загрузка данных из табличного документа» для версии 1С 8.3.
- После того, как файл в формате epf скачан и сохранен на жестком диске компьютера, запускаем программу 1С. Если файл epf упакован в архив, то его предварительно нужно извлечь оттуда. На верхней горизонтальной панели приложения жмем на кнопку, запускающую меню. В версии 1С 8.3 она представлена в виде вписанного в оранжевую окружность треугольника, перевернутого углом вниз. В появившемся списке последовательно переходим по пунктам «Файл» и «Открыть».
- Запускается окно открытия файла. Переходим в директорию его расположения, выделяем тот объект и жмем на кнопку «Открыть».
- После этого загрузчик запустится в 1С.
Скачать обработку «Загрузка данных из табличного документа»
Загрузка данных
Одной из основных баз данных, с которыми работает 1C, является список номенклатуры товаров и услуг. Поэтому для описания процедуры загрузки из Excel остановимся на примере переноса именно этого типа данных.
- Возвращаемся к окну обработки. Так как мы будем загружать номенклатуру товаров, то в параметре «Загрузка в» переключатель должен стоять в позиции «Справочник». Впрочем, он так установлен по умолчанию. Переключать его следует только тогда, когда вы собрались переносить другой тип данных: табличную часть или регистр сведений. Далее в поле «Вид справочника» кликаем по кнопке, на которой изображено многоточие. Открывается выпадающий список. В нем нам следует выбрать пункт «Номенклатура».
- После этого обработчик автоматически расставляет те поля, которые программа использует в этом виде справочника. Нужно сразу отметить, что совсем не обязательно заполнять все поля.
- Теперь опять открываем переносимый документ Excel. Если наименование его колонок отличается от наименования полей справочника 1С, которые содержат соответствующие, то нужно переименовать эти столбцы в Экселе так, чтобы названия полностью совпадали. Если в таблице имеются столбцы, для которых в справочнике нет аналогов, то их следует удалить. В нашем случае такими столбцами являются «Количество» и «Цена». Также следует добавить, что порядок расстановки столбцов в документе должен строго совпадать с тем, который представлен в обработке. Если для некоторых столбцов, которые отображены в загрузчике, у вас нет данных, то эти колонки можно оставлять пустыми, но нумерация тех столбцов, где имеются данные, должна совпадать. Для удобства и быстроты редактирования можно применять специальную возможность Эксель для быстрого перемещения колонок местами.
После того, как данные действия произведены, жмем на значок «Сохранить», который представлен в виде пиктограммы, изображающей дискету в верхнем левом углу окна. Затем закрываем файл, нажав на стандартную кнопку закрытия.
- Возвращаемся в окно обработки 1С. Жмем на кнопку «Открыть», которая изображена в виде папки желтого цвета.
- Запускается окно открытия файла. Переходим в директорию, где расположен документ Эксель, который нам нужен. Переключатель отображения файлов по умолчанию установлен для расширения mxl. Для того чтобы показать нужный нам файл, его требуется переставить в позицию «Лист Excel». После этого выделяем переносимый документ и жмем на кнопку «Открыть».
- После этого содержимое открывается в обработчике. Чтобы проверить корректность заполнения данными, жмем на кнопку «Контроль заполнения».
- Как видим, инструмент контроля заполнения сообщает нам, что ошибки не найдены.
- Теперь перемещаемся во вкладку «Настройка». В «Поле поиска» ставим галочку в той строке, которая у всех наименований, заносимых в справочник номенклатуры, будет уникальная. Чаще всего для этого используют поля «Артикул» или «Наименование». Это нужно делать для того, чтобы при добавлении новых позиций в список, данные не задваивались.
- После того, как все данные внесены и настройки выполнены, можно переходить к непосредственной загрузке информации в справочник. Для этого кликаем по надписи «Загрузить данные».
- Выполняется процесс загрузки. После её завершения можно перейти в справочник номенклатуры и убедиться, что все нужные данные туда добавлены.
Урок: Как поменять столбцы местами в Excel
Мы проследили процедуру добавления данных в справочник номенклатуры в программе 1C 8.3. Для других справочников и документов загрузка будет проводиться по тому же принципу, но с некоторыми нюансами, с которыми пользователь сможет разобраться самостоятельно. Также нужно заметить, что у различных сторонних загрузчиков процедура может отличаться, но общий подход остается у всех одинаковый: сначала обработчик загружает из файла информацию в окно, где производится её редактирование, а уже потом она добавляется непосредственно в базу данных 1С.
Мы рады, что смогли помочь Вам в решении проблемы.
Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
Да Нет
Загрузка данных из Excel в 1С, как правило, нужна в следующих случаях:
- При выполнении обменом информацией между контрагентами (прайс-листы, акты сверки и т.д.);
- Для облегчения работы операторов в случаях, когда основной учет ведется в 1С, а некоторая его часть выполняется в таблицах Excel;
- При первичном заполнении базы данных.
Для выполнения этой операции можно использовать как типовой функционал, доступный при наличии подписки на информационно-технологическое сопровождение (ИТС), так и самостоятельно написанные обработки, реализованные через различные варианты подключения. В нашей статье мы постараемся максимально полно разобрать все возможные случаи и ответить на большинство существующих вопросов относительно загрузки данных из Excel в 1С.
Универсальный механизм
На дисках ИТС, а также на портале 1С, зайдя в меню «Технологическая поддержка» -> «Универсальные отчеты и обработки», в папке «Загрузка данных из табличного документа» находится соответствующая обработка.
При ее запуске открывается форма (Рис.1):
Рис.1
Как видно из формы, она позволяет выполнять перенос информации в следующие объекты конфигурации:
- Справочник;
- Табличную часть документа или справочника;
- Регистр сведений.
В зависимости от того, в какое положение установлен переключатель, меняется поле выбора объекта.
Табличная форма обработки заполняется при открытии загружаемого файла.
Типовая обработка поддерживает выгрузки из:
- Разработанного специалистами фирмы 1С, файлов формата mxl;
- Листа xls, сохраненного в формате Excel 97-2003;
- Текстового файла txt;
- Таблицы dbf.
Excel файлы большого объема могут загружаться достаточно долго, так что, если предполагается, что загрузка данных может происходить в несколько этапов или Вы точно знаете, что Вам придется несколько раз открывать существующий файл, для экономии нервов и времени, информацию из него лучше сохранить в mxl формат. Сделать это можно напрямую из формы обработки.
Важно понимать, что, если в исходном файле существуют группировки строк, подзаголовки и примечания, их надо будет удалить вручную.
Теперь перейдем к закладке «Настройка» (Рис.2):
Рис.2
Достаточно часто экселевские таблицы содержат шапку со всевозможными реквизитами и данными (наименование печатной формы, реквизиты контрагента, дату и номер входящего документа, имена колонок и так далее), чтобы исключить их обработку программой на форме, в реквизите «Первая строка табличного документа» надо указать первую строку с переносимой информацией
После выбора объекта метаданных, в который будет производиться запись информации, табличная часть закладки «Настройка» будет автоматически заполнена именами реквизитов, описанием их типов и другой важной информацией. Рассмотрению колонок табличной части закладки «Настройка» следует посвятить отдельный раздел.
Колонки «Настройки»
Пометка – установкой или снятием флажка в строке определяется, будет ли заполняться соответствующий реквизит.
Представление реквизита – здесь прописывается синоним (наименование) реквизита метаданных, как оно задано в конфигураторе.
Поле поиска – если установить галочку в это поле, обработка будет осуществлять поиск элементов по соответствующему реквизиту и, в случае успеха, изменять существующие данные, дополнительная функция этого поля – защита от появления дубликатов.
Описание типов – отображает тип данных, который имеет тот или иной реквизит метаданных.
Режим загрузки – предлагает три варианта на выбор (Рис.3):
Рис.3
- Искать – будет осуществляться поиск соответствующего элемента, в случае его отсутствия может быть создан новый;
- Устанавливать – подчиненным образом устанавливается определенное значение;
- Вычислять – в этом случае в поле создаваемого элемента будет установлен результат вычисления выражения, указанного в колонке «Условие связи/Выражение для значения».
В последнем случае, активация поля Выражение вызовет открытие формы (Рис.4).
Рис.4
Номер колонки – поле, используемое для указания, из какой колонки экселевской таблицы необходимо брать данные для заполнения.
Значение по умолчанию – достаточно часто возникает ситуация, когда в загружаемом файле содержатся не все необходимые для записи элемента данные, в этом случае для заполнения будет проставлена информация, содержащаяся в данном поле.
Условие связи/Выражение для значения – частично мы уже коснулись этого поля, когда рассматривали вычисляемые поля, дополнительно в нем можно указать условие, в соответствии с которым будут синхронизированы исходные данные.
Вот, в принципе и вся информация, которая доступна на закладке «Настройка».
Чтобы каждый раз не убивать много времени на загрузку, прописывание соответствий и выражений, разработчики предусмотрели возможность сохранения варианта настройки в файл с расширением mxlz.
Проверить корректность переносимых данных можно нажатием на кнопку «Контроль заполнения» (Рис.1). После этого можно запускать процесс загрузки. Об успешном выполнении процедуры или нестандартных ситуациях Вы будете оповещены отдельно.
Загрузка данных через буфер обмена
Для загрузки данных из Экселя в информационных базах «Управление и торговля» существует еще один механизм. Он менее универсален, чем приведенный выше способ, однако не требует подписки ИТС и содержится в типовой поставке.
Эту обработку можно найти на закладке «Закупки» , в меню «Сервис», она носит наименование «Загрузка цен поставщика из файлов»(Рис.5)
Рис.5
Форма обработки содержит:
- Поле выбора даты, которая будет указывать, на какое время актуальна данная цена;
- Поле выбора контрагента, который прислал свой прайс-лист;
- Кнопку, позволяющую выбрать тип устанавливаемых цен;
- Табличную часть, которую можно заполнить загружаемыми данными.
Эту форму можно увидеть на Рис.6
Рис.6
Пояснение в верхней части формы объясняет, как пользоваться первой закладкой формы.
После выбора контрагента (в зависимости от того, выступает он поставщиком, комиссионером или продавцом) в таблице станут доступны дополнительные колонки для каждого типа цен.
При работе через веб-интерфейс, в некоторых браузерах может потребоваться установка браузерного дополнения (Рис.7). Нам надо нажать кнопку «Начать установку» и перезапустить наше подключение.
Рис.7
После этого мы, используя буфер обмена, сможем переносить информацию из одной таблицы в другую. Когда необходимые нам колонки («Артикул», «Наименование», «Цена») будут заполнены, мы нажимаем кнопку «Далее» и переходим на вторую страницу (Рис.8)
Рис.8
Программа автоматически выполнит поиск соответствий внутри базы данных и, в случае, если таковых не найдется, предложит варианты устранения ошибки. Внешний вид табличной части можно контролировать с помощью переключателя. Кроме того, пользователь может самостоятельно сопоставить элементы загружаемого файла имеющимся в базе данным.
Второе нажатие на кнопку «Далее» открывает перед нами форму, в которой мы должны определить, что делать с загружаемыми ценами:
- Регистрировать все подряд;
- Регистрировать только те, которые изменились по сравнению с уже имеющимися в базе.
В текстовом поле можно внести комментарий, который будет записан в документе (Рис.9):
Рис.9
После выполнения обработки:
- В справочнике «Номенклатура поставщика» будет создан соответствующий элемент (если его не было);
- Ему будет сопоставлен элемент справочника «Номенклатура»;
- Будет создан и проведен документ «Установка цен номенклатуры» с указанием: поставщика, типа цен и даты фиксации данных.
Аналогичным образом работает обработка «Загрузка товаров из внешних файлов».
Варианты обработки переноса своими руками
Главная проблема в выдергивании данных из экселевского файла заключается в том, что 1С не имеет встроенного однозначного механизма его открытия. Существуют несколько вариантов подключения Excel к 1С:
- Через Microsoft ADODB – достаточно быстрый способ, который, как правило, применим и для файлового и для клиент-серверного варианта хранения базы;
- Через использование Microsoft Office – метод, который иногда сбоит при работе с SQL базами, как правило, работает несколько медленнее первого способа, к тому же требуется установленный Office;
- Через Libre Office – в отличие от предыдущего метода бесплатен, помимо xls и xlsx форматов поддерживает еще и собственные таблицы, но требует установленного пакета LibreOffice и некоторой подготовки загружаемого файла (первая строка таблицы должна содержать имена колонок).
Рассмотрим подробнее различные способы и варианты.
Через ADODB.Connection
Вообще ADO расшифровывается как ActiveX Data Object и служит для программного доступа к различным базам данных. Самая большая проблема при создании любого подключения к стороннему файлу (в том числе и к экселевскому) – грамотно составить строку подключения.
Для файлов Excel тут возможны три варианта:
- Если на компьютере установлено программное обеспечение Microsoft Access Database Engine 2010 Redistributable 32/64 bit, можно использовать строку (Рис.10); Рис.10
- Стандартное Windows подключение через драйвер Jet.OLEDB.4.0 будет выглядеть следующим образом (Рис.11) правда, открывать через эту строку таблицы, созданные в Microsoft Office 2007 и более поздних версиях (расширение xslx) невозможно; Рис.11
- Кроме этого, можно вызвать драйвер для Эксель, используемый в системе по умолчанию для этих таблиц (Рис.12); Рис.12
Параметры строки подключения:
- Provider – здесь определяется используемый драйвер;
- Data Source – определяет имя файла, который мы будем открывать;
- Extended Properties – здесь можно указать: нужна ли строка-заголовок для таблицы (HDR = YES говорит о том, что данные будут считываться с первой строки, HDR = NO – что со второй), открывается ли файл только для чтения (ReadOnly) и некоторые другие дополнительные параметры.
Создав строку подключения, мы можем соединиться с загружаемым файлом (Рис.13)
Рис.13
Теперь мы можем с помощью простого запроса (Рис.14) запустить выборку информации из загружаемого файла.
Рис.14
В данном случае параметр «Лист» определяет, с каким листом из экселевской книги нам предстоит работать.
Рис.15
Набор записей, хранящихся на листе можно прочитать с помощью объекта Recordset. При этом первую запись листа можно получить параметром BOF (начало файла), а последнюю EOF (конец файла).
Через Excel приложение
Главное отличие от предыдущего способа – помимо драйверов работы с базами данных, на компьютере, где выполняется соединение, должен быть установлен Excel. Только в этом случае мы можем инициализировать приложение для чтения данных из таблицы (Рис 16).
Рис.16
У этого COM объекта есть несколько дочерних параметров, но главным для нас, при текущих условиях задачи, является параметр WorkBooks (Рис.17).
Рис.17
После инициализации книги необходимо определить лист, с которого будут считываться данные (Рис.18).
Рис.18
После этого можно перебирать внутри циклов строки и колонки таблицы открываемого файла.
Несколько слов о возможных ошибках
Львиная доля ошибок при подключении к файлу возникает из-за того, что файл уже занят другим приложением. Хорошо, если в панели задач видно, что Excel запущен на компьютере, но если Вы или другой пользователь открыли его из внешней обработки, визуально это можно определить только через «Диспетчер задач», так что не забывайте перед окончанием процедуры переноса закрыть подключение:
В случае работы через ADO (Рис.19);
Рис.19
- В случае работы с приложением (Рис. 20).
Рис. 20.
Подключение и процедуру завершения работы с данными лучше всего организовывать внутри конструкции Попытка-Исключение-КонецПопытки, вызывая в исключительной ситуации описание ошибки. Хоть это иногда и замедляет работу, но существенно упрощает определение причины возникновения ошибки и, в конечном счете, способов её устранения.
Изменены ставки экологического сбора. Постановление Правительства РФ от 31.10.2018 N 1293 …
Добавлены коды налоговых льгот по земельному налогу и налогу на имущество. Письмо ФНС России от 31.10.2018 N БС-4-21/21254@ …
Правительство России ужесточило контроль над мессенджерами. Новые правила, исключающие возможность анонимного использования систем обмена сообщениями, уже подписаны Дмитрием Медведевым …
Представители компаний IBM и Red Hat объявили о достижении окончательного соглашения, согласно которому IBM приобретет акции Red Hat стоимостью 34 …
Фирма «1С» активно развивает свое решение для малого бизнеса. На 2019 год намечен выход существенно обновленного релиза «1С:УНФ» 1.6.17. Часть новшеств …
В КНР запускают «систему социального доверия», которая позволит оценить порядочность граждан страны по балльной системе. «Двоечникам» запретят покупать билеты на …
«Билайн» принял на работу робота RobBee для повышения оперативности процессов проверки и учета кассовых операций. В компании утверждают, что по …
Все мы любим рассказывать о своих успехах и не очень любим распространяться о неудачах. Но опыт ошибок зачастую более ценен, …
Опыт решения проблем. 1. Проблема с СКД преобразованием запроса при отключении режима совместимости …
Пофантазируем? …
Поговорим о неплатформенных индексах для информационных баз 1С. Об особенностях их использования, целесообразности и подводных камнях …
Встречайте новую версию 1.6.16! В этой версии мы подготовили для вас множество интересных и полезных проектов: 🍁 Полная функциональность решения …
«1С» обновила предложение для микробизнеса: коробочные версии дорожают, цены на облака снижаются, а расчет налогов и сдачу отчетности включили в …
В официальном блоге разработчиков фирмы «1С» появилась заметка об устранении недостатков и повышении производительности динамических списков. В платформу добавлена возможность …
Она позволит создать открытую экосистему решений для автоматизации, в которых используются роботы совместно с облачными вычислениями …
Следующий код:
Код:
Процедура КнопкаВыполнитьНажатие(Кнопка) Попытка Эксель = Новый COMОбъект("Excel.Application"); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Книга = Эксель.WorkBooks.Open(ПолучитьМакет("П4")); Лист = Книга.WorkSheets(1); ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column; ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row; ИмяФайла = "C:Documents and SettingsMyCompРабочий стол11111.xlsx"; Книга.SaveAs(ИмяФайла); Эксель.Quit(); КонецПроцедурывыдает ошибку:
Ошибка при вызове метода контекста (Open)
Книга = Эксель.WorkBooks.Open(ПолучитьМакет(«П4»));
по причине:
Типы не совпадают (0)Как ее исправить?
Содержание:
1. Редактирование печатных форм
2. Параметры и шаблоны печатной формы
Здравствуйте, коллеги! Данная статья посвящена вопросу работы с макетами печатных форм в 1С 8.3. Вы узнаете, как настроить печатную форму и какие существуют возможные шаблоны и параметры макета. Итак, не будем затягивать со вступлениями – поехали!
Макеты печатных форм нужны для печати готового документа. Прежде чем распечатать документ, в программе 1С формируется его печатная форма при помощи вышеупомянутого макета. Данные шаблоны печатных форм создаются в шаблонном конструкторе, представленного в виде таблицы. Когда система работает как управляемая форма 1С 8, то макет можно редактировать вручную: юзер имеет возможность менять шрифт, линии ячеек, добавлять логотип и так далее, при этом не меняя конфигурацию.
1. Редактирование печатных форм
Попробуем разобрать редактирование печатных форм на примере. Создадим документ типа «Накладная», который будет находится в пункте «Продажи» и сформируем для него печатную форму.
Предприятие/организация помимо необходимых контактов может вносить свои правки, например, добавить логотип. Если кликнуть по кнопке «Печать», перед нами появится новая печатная форма, далее кликаем «Ещё». Программа 1С предложит на выбор два варианта действий: «Перейти к макетам форм» и «Изменить макет».
Рис. 1 Новая печатная форма — путь к макетам форм/изменение макета
Далее выбираем «Перейти к макетам форм» – появится список возможных печатных форм. Для удобства просмотра можно воспользоваться методом отбора по стандартным макетам.
Рис. 2 Стандартные макеты печатных форм
Для просмотра и редакции документа кликаем на «Изменить макет» – на мониторе отобразится макет печатной формы. Поля формы содержат команды, использовав которые, пользователь может быстро заполнить форму.
Замечание: менять названия параметров, а также областей запрещено!
Чтобы поменять вид шрифта, границ таблиц, настройки в тексте и прочее, используем панель инструментов.
Рис. 3 Редактирование печатных форм
Данный макет печатной формы в 1С схож с обычными таблицами Excel. Например, при необходимости удалить границы внутри печатной формы, просто кликаем на одноименную кнопку, следом – на кнопку «Нет границы». Если линии не убирать, но добавить рисунок, то он станет располагаться сверху.
Рис. 3 Редактирование печатных форм – удаление границ
В случае, когда нужно добавить изображение – кликаем «Ещё», после чего выбираем «Картинки» (находятся в панели меню под названием «Рисунок»).
Рис. 4 Редактирование печатных форм – добавление картинки
Далее кликаем на «Выбрать из файла» (в том окне, которое всплыло) и выбираем подходящее фото.
Рис. 5 Выбор картинки для формирования печатной формы
Наше изображение поместилось в форме. Далее можем, по желанию, менять размер при помощи растягивания или сжатия за уголки фото.
Рис. 6 Изменение размеров изображения при формировании печатных форм
Следующий шаг – кликнуть правой клавишей на вставленную картинку и перейти в «Свойства». В новом окне задаём параметры объекта. Пусть нужно убрать рамку: кликаем на «Стиль линии → Нет линии».
Рис. 7 Параметры картинки при редактировании печатных форм
Замечание: обязательно вставлять рисунок только между двумя красными линиями, иначе он пропадёт из формы.
Рис. 8 Формирование печатных форм – как правильно вставить рисунок
Кликаем «Записать и закрыть».
Рис. 9 Новая печатная форма с рисунком
Таким образом, мы провели изменения печатной формы, не изменяя конфигурацию.
После данных действий можем перейти в пункт «Перейти к макетам печатных форм». Кликнув «Ещё», замечаем, что у макета, который только что редактировали, появился карандаш зелёного цвета, то есть макет был изменён. Если вдруг понадобилось вернуть первый макет, то кликаем на «Использовать стандартный макет» (в этой вариации карандаш станет чёрным).
Рис. 10 Функция «Использовать стандартный макет»
Если требуется удалить изменения макета, то кликаем на крестик красного цвета.
Рис. 11 Удаление изменения печатных форм
Есть другой вариант добавления картинки с логотипом – через настройки организации. Переходим в «Главное → Настройки → Организация → Логотип и печать». Рисунок будет виден в разделе «Счёт на оплату».
Рис. 12 Добавление картинки при редактировании печатных форм
Видим, что изображение было вставлено автоматически.
Рис. 13 Результат редактирования печатных форм – вставление картинки
2. Параметры и шаблоны печатной формы
Теперь рассмотрим пример работы с шаблонами и параметрами печатных форм в 1С. Откроем файл «Накладная» как новый макет по пути «Администрирование → Печатные формы, отчёты и обработки → Макеты печатных форм».
Замечание: в клетках параметры заключены в такие скобки: <>.
Рис. 14 Параметры печатной формы
При помощи параметров печатной формы клиент сам может редактировать макет, без вмешательства в конфигурацию. Например: надо вывести артикул, цену или товар, тогда вписываем параметр в нужную ячейку. Также можно посмотреть свойства каждой ячейки, кликнув на неё правой клавишей.
Рис. 15 Свойства ячейки печатной формы
В шаблоне печатной формы можно задействовать в одной ячейке и текст, и параметры. Чтобы это сделать, убираем свойство шаблона и, когда будем указывать его значение внутри поля «Текст», в параметре пишем всё в квадратных скобках.
Рис. 16 Изменение шаблона печатной формы
Если рядом с макетом находится карандаш, это значит, что макет поменяли.
Рис. 17 Свидетельство изменения печатных форм
Проверяем макет печатной формы, который сохранили.
Рис. 18 Проверка макета печатной формы в 1С
Аналогичным образом добавляется и форматируется текст.
Замечание: в одной ячейке можно использовать только один вариант форматирования.
В данной статье было разобрано понятие макетов печатной формы, рассмотрено его редактирование (в том числе, добавление различных элементов), добавление макетов печатных форм, создание параметров и шаблонов для данных макетов, также была создана подробная инструкция для пользователя (как настроить печатные формы, не вмешиваясь в конфигурацию).
Специалист компании «Кодерлайн»
Айдар Фархутдинов
Содержание
- 1 Создание нового макета
- 2 Изменение макета
- 3 Выгрузка макета
- 4 Загрузка макета
- 5 Создание макета печатной формы
- 5.1 Сохранение макета
- 5.2 Основные инструменты
- 5.2.1 Контекстное меню ячейки
- 5.2.2 Контекстное меню строки
- 5.2.3 Контекстное меню столбца
- 5.2.4 Главное меню программы
- 5.3 Свойства ячейки
- 5.4 Объединение ячеек
- 5.5 Границы печати
- 5.6 Шрифт
- 5.6.1 Изменение шрифта
- 5.6.2 Изменение шрифта для всего макета
- 5.7 Области печати
- 5.8 Вставка параметра
- 5.9 Вставка шаблона
- 5.10 Границы ячеек (таблицы)
- 6 Пример
- 6.1 Сортировка списка по параметру
- 6.2 Дополнительные параметры
- 6.3 Данные и результаты примера
Макет печатной формы бывает двух типов:
- MXL — формат макетов печатных форм 1С. Табличный документ. Используется чаще всего. По умолчанию все новые создаваемые печатные формы имеют этот формат макета. Этот макет можно изменить в режиме программы 1С, нажав в карточке печатной формы кнопку Изменить макет — он откроется на новой закладке в программе.
- DOC — макет печатной формы на основе документа Microsoft Word. Используется редко. Может появится в программе только путем его загрузки в карточку печатной формы (с помощью кнопки Загрузить макет).
При создании и изменении макета:
- изменения в нем сохраняются автоматически;
- сохранение макета происходит при записи печатной формы (нажатии кнопки Записать в карточке печатной формы).
Создание нового макета
- В новой карточке печатной формы нажмите кнопку Изменить макет.
- На новой закладке в программе откроется форма для создания макета печатной формы в формате MXL.
- Создайте макет печатной формы.
- В карточке печатной формы нажмите кнопку Записать.
- Сохранение макета происходит при записи печатной формы.
Изменение макета
- В карточке печатной формы нажмите кнопку Изменить макет.
- Макет в формате MXL откроется на новой закладке в программе 1С, макет в форме DOC откроется в программе Microsoft Word.
- Внесите изменения в макет.
- В карточке печатной формы нажмите кнопку Записать.
- Сохранение макета происходит при записи печатной формы.
Выгрузка макета
Выгрузка макета — сохранение макета печатной формы из программы 1С в файл формата MXL.
Цель: загрузка макета в карточки других печатных форм.
Чтобы выгрузить макет, сделайте следующее: находясь в программе 1С на закладке с макетом, в главном меню программы выберите команду Файл — Сохранить или Сохранить как и сохраните макет печатной формы в файл формата MXL.
Загрузка макета
В карточке печатной формы нажмите кнопку Загрузить макет. В открывшемся проводнике файлов выберите нужный файл с макетом в формате MXL или DOC и дважды щелкните по нему мышью или нажмите Enter.
Файл с макетом печатной формы можно загрузить в печатные формы в той же программе и/или на том же компьютере, где он был выгружен. Или его можно каким-либо образом передать на другие компьютеры (на цифровых носителях или переслать по электронной почте) и загрузить в печатные формы в программах на других компьютерах.
Создание макета печатной формы
Полную помощь по созданию табличных документов в формате MXL можно найти на официальном сайте программы 1С 1c.ru в разделе «Информационно-техническая поддержка» its.1c.ru или из других источников в интернете.
В ячейки макета вставляются текст или параметры объекта-владельца печатной формы.
Создание макета происходит через изменение свойств ячеек.
Ctrl — Z — отмена действия.
Сохранение макета
- После изменений просто закройте закладку с макетом. Изменения в макете сохраняются автоматически.
- Нажмите в карточке печатной формы кнопку Записать. Сохранение макета происходит при записи карточки печатной формы.
Основные инструменты
Основными инструментами при создании макета печатной формы являются контекстные меню ячейки, строки, столбца и главное меню программы (все команды из него, особенно из раздела Таблица).
Контекстные меню вызываются щелчком правой клавиши мыши по ячейке, номеру строки или столбца.
Контекстное меню ячейки
Объединить — объединить выделенные ячейки.
Разбить — разбить ячейку на несколько ячеек.
Свойства — открыть свойства ячейки.
Контекстное меню строки
Раздвинуть — добавить строку. Если выделить несколько строк, при использовании этой команды добавится выделенное количество строк.
Удалить — удалить строку. Если выделить несколько строк, при использовании этой команды удалится выделенное количество строк.
Контекстное меню столбца
Раздвинуть — добавить столбец. Если выделить несколько столбцов, при использовании этой команды добавится выделенное количество столбцов.
Удалить — удалить столбец. Если выделить несколько столбцов, при использовании этой команды удалится выделенное количество столбцов.
Главное меню программы
Свойства ячейки
Чтобы открыть свойства ячейки, в ее контекстном меню выберите пункт Свойства:
Объединение ячеек
Выделите ячейки, которые нужно объединить, и в их контекстном меню выберите команду Объединить:
Границы печати
Пунктиром на макете отображаются границы печати. На печать выводится только текст, находящийся в левом верхнем углу от них. Ячейки, находящиеся правее вертикальной пунктирной черты и ниже горизонтальной пунктирной границы на печать выведены не будут.
Шрифт
Ctrl — B — жирный шрифт.
Ctrl — I — курсив.
Ctrl — U — подчеркнутый шрифт.
Повторное нажатие на сочетания этих клавиш отменяет гарнитуру шрифта (жирный, курсив и подчеркнутый шрифт).
Изменение шрифта
Свойства ячейки — Оформление — Шрифт:
Изменение шрифта для всего макета
- Выделите все ячейки в таблице — щелкните мышью по самой верхней левой ячейке.
- Измените шрифт.
Области печати
Ячейки с информацией располагаются в областях печати. Каждая область печати имеет название. Это нужно для программирования макета.
Чтобы создать область печати, выделите необходимое количество строк или столбцов и нажмите Ctrl — Shift — N. В появившемся окне введите название области.
Традиционно в документах принято создавать три стандартных области печати:
- «Шапка» — шапка документа. Находится наверху. В нее входят название документа и любая информация, которая должна быть наверху документа.
- Область с данными — находится между шапкой и подвалом документа. В нее выводятся основные данные документа. Может иметь любое название. Название этой области печати может использоваться при программировании макета: например, при создании дополнительных параметров или сортировки списка с данными.
- «Подвал» — подвал документа. Находится внизу. В него часто входит поле «Подпись» и любая информация, которая должна быть внизу документа.
Но наличие этих областей печати не является обязательным.
Вставка параметра
- Свойства ячейки — Макет — Заполнение выберите «Параметр».
- В поле Параметр напишите название параметра.
Названия параметров нужно смотреть:
- в карточке печатной формы на закладках Основные параметры, Дополнительные параметры, Тест значений;
- в конфигураторе 1С в структуре объекта-владельца печатной формы.
Вывод номеров строк: в области вывода данных в первую колонку вставьте параметр «НомерСтроки» (предопределенный параметр для вывода номера строк).
Настройка формата представления даты: Свойства ячейки — Формат.
Вставка шаблона
Шаблоны нужны, чтобы выводить параметры в одной строке с текстом.
- В Свойствах ячейки — Макет — Заполнение выберите «Шаблон».
- В поле Текст вставьте текст с параметрами. Параметры вставляются в квадратных скобках.
- Например, чтобы в печатной форме вывести название документа «Меню-раскладка» с его номером и датой, в поле Текст напишите: «Меню-раскладка № [Номер] от [НаДату]».
Границы ячеек (таблицы)
- Выделите ячейку(-и).
- Свойства ячейки — Оформление.
Пример
Создадим макет печатной формы для документа «Меню-раскладка».
Пусть в нем выводится следующая информация:
- номер и дата документа;
- название организации;
- вариант питания;
- список блюд из всех рационов питания (завтрак, обед, ужин):
- рацион
- вид блюда
- название блюда
- количество порций
- стоимость (руб.)
- сумма блюда = стоимость блюда * количество порций
- выход блюда в граммах
- ед. изм. выхода блюда
- список должен быть отсортирован по рационам питания.
Создайте новую печатную форму «Меню-раскладка»: в справочнике Печатные формы нажмите кнопку Создать.
В карточке печатной формы:
- В поле Наименование введите название печатной формы «Меню-раскладка».
- В поле Владелец выберите объект «Меню-раскладка».
- Закладка Основные параметры заполнится параметрами объекта «Меню-раскладка».
- На закладке Тест значений в поле Объект выберите некоторый документ «Меню-раскладка».
- На закладке отобразится список параметров объекта «Меню-раскладка» с их значениями.
- На закладке Настройки печати установите поля документ все равные 0.
- Нажмите кнопку Изменить макет. На новой закладке откроется форма для создания макета печатной формы.
Создайте макет печатной формы:
- Создайте область печати «Шапка», в которую войдут название документа, название организации, вариант питания и шапка таблицы со списком блюд.
- «Организация» и «Вариант питания» — это просто текст.
- Вставьте параметры:
- «ОсновнаяОрганизация» — параметр с закладки Доступные параметры.
- «ВариантПитания» — параметр с закладки Тест значений.
- Создайте заголовки столбцов таблицы со списком блюд и очертите их границы.
- Создайте список блюд.
- Создайте дополнительные параметры.
- Создайте название документа. Пусть название документа будет «Меню-раскладка» с номером и датой документа.
- Некоторые блюда имеют длинные названия. Чтобы настроить автоматический перенос слов в длинных названиях блюд, в свойствах ячейки с параметром «Блюда» в поле Размещение выберите «Переносить».
Сортировка списка по параметру
«ПереченьБлюд» — это название таблицы значений из структуры объекта «Меню-раскладка», которая формирует список блюд.
Чтобы получить список блюд, отсортированный по рациону питания, сделайте следующее:
- Переопределите таблицу значений «ПереченьБлюд», сделав ее отсортированной по рациону. Для этого в карточке печатной формы на закладке Дополнительные параметры добавьте строку и сделайте ее обязательно первой в списке:
- «Параметр» — «ПереченьБлюдСорт», «Путь к данным» — «яъКоллекции.тзСортированная(@ПереченьБлюд, «Рацион ВОЗР»)», «Область определения» — не заполнять.
- В макет добавьте область печати с названием этой новой переопределенной сортированной таблицы значений «ПереченьБлюдСорт». Вставьте в нее необходимые параметры-характеристики блюда: «Рацион», «Блюдо», «КоличествоПорций», «СтоимостьБлюда», «ВыходФакт», «ЕдиницаИзмеренияВыхода».
- В дальнейшем при создании дополнительных параметров, используйте название таблицы значений и области определения «ПереченьБлюдСорт».
Дополнительные параметры
«Вид блюда» и «Сумма блюда». Среди параметров из карточки печатной формы на закладках Основные параметры, Доступные параметры и Тест значений нет параметров, которые выводили бы вид и сумму блюда. Чтобы получить эти значения, надо создать дополнительные параметры.
- В карточке печатной формы на закладке Дополнительные параметры добавьте параметры «Вид блюда» и «Сумма блюда»:
- В макет в столбец «Вид блюда» вставьте параметр «ВидБлюда», а в столбец «Сумма» — параметр «СуммаБлюда». Теперь эти значения будут выводиться.
Данные и результаты примера
Карточка печатной формы:
Макет печатной формы:
Документ «Меню-раскладка»:
Печатная форма:
28.04.13 — 18:12
ТабличныйДокумент=Документ.ПолучитьМакет(«макет»);
ТабличныйДокумент.Записать(ИмяФайла,»xls»);
В этом случае сохраняется пустой макет. Как программно сохранить печатную форму ДокументОбъекта в excel? Проблема в том , что нет метода
ТабличныйДокумент.Получить()
1 — 28.04.13 — 18:14
ПечДокумент.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLS);
2 — 28.04.13 — 18:22
ПечДокумент — это табличный документ? Задача, которую я по неопытности не могу решить , именно в том, что надо сохранить печатную форму ДокументОбъекта.Как документобъект преобразовать в ТабличныйДокумент?
3 — 28.04.13 — 18:48
ПечДокумент = Новый ТабличныйДокумент;
Макет = Документ.ПолучитьМакет(«макет»);
Область = Макет.ПолучитьОбласть(«ОбластьВМакете»);
ПечДокумент.Вывести(Область);
ПечДокумент.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLS);
как то так
4 — 28.04.13 — 19:17
Выглядит красиво, просто, логично. Спасибо!
Еще вопрос. Судя по синтаксис помощнику, ТабличныйДокумент
относится к общим объектам. А где его найти в конфигурации?
Вопрос не праздный, это мне нужно знать, т.к. я пишу в delphi и общаюсь с 1с через OLE объекты
5 — 28.04.13 — 19:29
ТабличныйДокумент — глобальный контекст, не метаданные
6 — 28.04.13 — 19:38
Документ.Печать().Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLS);
7 — 28.04.13 — 19:41
Код на delphi
tabdoс:=onesobj.NewObject(‘ТабличныйДокумент’);
maket:=doc.ПолучитьМакет(‘ПлатежноеТребование’);
obl:=maket.ПолучитьОбласть(‘R1C1:R43C23’);
tabdoс.Вывести(obl);
tabdok1.Записать(‘D:Temppltr.xls’,’XLS’);
Почему pltr.xls получается пустым макетом, при том, что doc — заполненный, сохраненный документ?
8 — 28.04.13 — 19:49
Прошу прощения опечатка вышла
Код на delphi
tabdoс:=onesobj.NewObject(‘ТабличныйДокумент’);
maket:=doc.ПолучитьМакет(‘ПлатежноеТребование’);
obl:=maket.ПолучитьОбласть(‘R1C1:R43C23’);
tabdoс.Вывести(obl);
tabdoc.Записать(‘D:Temppltr.xls’,’XLS’);
Почему pltr.xls получается пустым макетом, при том, что doc — заполненный, сохраненный документ?
9 — 28.04.13 — 19:51
попробуй (1)
10 — 28.04.13 — 19:56
Наверное, ты не понял. Файл Excel прекрасно запоминается, но только запоминается пустой, незаполненный макет платежного требовсния
11 — 28.04.13 — 19:58
(10) у документа как правило существует функция Печать(), которая и формирует заполненный табличный документ
12 — 28.04.13 — 20:07
(10) у документа как правило существует функция Печать(), которая и формирует заполненный табличный документ
Что значит функция Печать()? Такого метода у документОбъекта нет в моей конфигурации
13 — 28.04.13 — 20:11
(12) В модуле объекта может быть такая функция. Но может её и не быть — тогда макет придется заполнять самому. Для этого надо заполнить каждый параметр макета перед выводом области в табличный документ.
14 — 28.04.13 — 20:12
(12) погоди… это не типовая конфа, твоя самоделка?
15 — 28.04.13 — 20:23
Конфа куплена у официального фрачайзи не более 2х месяцев назад. Я к ней не прикасался. Бухгалтерия предприятия (базовая), редакция 2.0 (2.0.46.8)
16 — 28.04.13 — 20:29
есть у тебя там печать() должна быть.
17 — 28.04.13 — 20:37
Выходит сообщение «metod Печать not supported by automation object»
18 — 28.04.13 — 20:44
(12) В модуле объекта может быть такая функция. Но может её и не быть — тогда макет придется заполнять самому. Для этого надо заполнить каждый параметр макета перед выводом области в табличный документ.
В модуле формы нет функции Печать(). Не понимаю, как же работает кнопка печать? Как это отлтвить в отладчике?
19 — 28.04.13 — 20:45
(18) модуль ОБЪЕКТА
20 — 28.04.13 — 20:46
(18) в модуле объекта есть печать()
21 — 28.04.13 — 20:55
Всем спасибо! Нашел в модуле объекта Печать(). Буду разбираться. Вроде бы доступно написано
Balabass
22 — 29.04.13 — 03:03
Файл — сохранить как — файл xls