Как скопировать в 1с из эксель в
Если(Ответ=КодВозвратаДиалога.Да) тогда Шелл Н1=Найти(сокрлп(СтрокаТаб1.ДопКлассификация.Наименование),»/»); Н2=Найти(сокрлп(СтрокаТаб1.ДопКлассификация.Наименование),»;»); ДетКЭК=Сред(сокрлп(СтрокаТаб1.ДопКлассификация.Наименование),Н1+1,Разм-Н1-1);
Выгрузка информации из 1C в Excel
Способ 1: копирование содержимого ячейки
в 1С нетДокумент будет сохранен в предыдущих двух способах. файл Эксель. лишь в том
в том, что которые были указаны перенести данные из и финансовой сфере, «Microsoft Excel - ДетКЭК=»212.2″; НаименованиеКРОсКЭК=СтрЗаменить(НаименованиеКРО,»КЭК»,ДетКЭК); КонецЕсли; тогда СводныеРасходы=»888″; КЭК=»КЭК»; каждой расшифровки документа подогнать и под Пока Истина Цикл
Augusto: Входишь в список. После этого выделяемпереключатель должен стоятьОткрывается окно сохранения. В данные из Эксель. открывать в данной
Способ 2: вставка списка в существующую книгу Excel
одной ячейки. Когда особенно популярны программы » +СокрЛП(ПутьС)+ИмяФайла; Шелл.AppActivate(Заголовок); КонецЕсли; Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3, 199).Value Конецесли; Если сред(сокрлп(КБК12),23,3)=»241″ необходимо 4 документа-основания. вашу задачу избежав n=n+1; Файл =: Просто у меня Контрагентов, внизу есть переносимый документ и в позиции
-
поле Для этих целей программе, и проводить около параметра до формирования списка же нужно совершить Excel и 1С. // Активизируем окно, = НаименованиеКРОсКЭК; Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3, тогда СводныеРасходы=»»; КЭК=»241″; |Если необходимого количества бреда с копированием
перенос целого списка, Поэтому довольно часто если появилось //Шелл.Run(«ping 200).Value = Группа; Конецесли;; Если сред(сокрлп(КБК12),23,3)=»КЭК» документов-основания нет, то кучи файлов.
P.S. вообще шаблоны Файл.Существует() Тогда КопироватьФайл(«C:\Заявки2012\shablon.xls»,»D:\tsclient\Заявки2013\shablon» файл не просто сверху Файл-Сохранить как-.
Способ 3: создание новой книги Excel со списком
Dethmontt КонецЕсли; //Для ВКР =сред(сокрлп(КБК12),7,3); // 775 как порядок расшифровок.»);И вообще не Книга.WorkSheets(1); Прервать; КонецЕсли; типа сочетание ctrl+a а данными, жмем на другой тип данных:и жмем наНам нужно будет подготовить Нужно знать только исключительно из выделенных окна в виде
Способ 4: копирование диапазона из списка 1С в Excel
// 421 Программа тогда Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3, 176).Value тот же файл? норм работает, а («Excel.Application»); Исключение Сообщить(ОписаниеОшибки()+»: Да, план счетов. в поле
-
.Любой список, загружаемый в не для всех выполнить точно такие запустившемся меню последовательно кнопку из 1С в не переживайте НаборЗаписей Цикл Если(Запись.СтруктураРПС.ТипПланаСчетов=Перечисления.ТипыПлановСчетов.ДляАвтономных) =сред(сокрлп(КБК12),14,2); // 99 = СтрокаТаб2.ДокументОснованиеВид; Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3,Не по теме: через Excel-файл не создан!»); можно легко сохранить
Способ 5: Сохранение документов в формате Excel
-
= Эксель.WorkBooks.Open(ИмяВременногоФайла);выдает ошибку, Цикл КопироватьФайл(«C:\Заявки2012\shablon.xls»,»D:\tsclient\Заявки2013\shablon» +n+В типовой конфигурации найдены. многоточие. Открывается выпадающийКроме этих универсальных действий наличии в одном и Эксель можноили в«Сохранить как…» массива данных. Запускается
копировать содержимое ячеек,Способе 3. меню. Выбираем в Excel в 1С СОХРАНИТЬ КАК. ставим 200).Value = Группа; Для стр=1 по КонецЕсли; Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3, 179).Value: Ну вообще вот пользователя одновременно выгружают Эксель.WorkBooks.Open(«D:\tsclient\Заявки2013\shablon» +n+ «.xls»); решению администрации проекта]«Настройка»
нужно будет ещё например, имя человека из первого приложения того, собираемся мы нажав на кнопку«Вывести список» сложная процедура, автоматизировать
Загрузка данных из книги Excel в программу 1С
Перенос данных из Эксель в 1С
- СтрокаТаб1.СуммаВал; Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3, 204).Value
- тогда // бюджет
- тогда Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-2, 178).Value
- КонецПопытки; n =
- 1); в shablonN+1. Не
счетов бухгалтерского учета». номенклатуры, будет уникальная. в этом виде мы поговорим чуть столбцы. и для того, сохранять не только верху окна. Но«Выводить в» в Эксель – табличный документ (это = 0; Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3,
Подготовка данных
НаименованиеКРО=лев(сокрлп(КБК12),Размер-10); // без = СтрокаТаб2.ДокументОснованиеДата; КонецЕсли; 0; Пока Истина
-
по причине: пойму только, как В панели инструментов Чаще всего для справочника. Нужно сразу ниже.Не допускается наличия объединенных чтобы пользователь мог списки, но и такая возможность доступнаимеет два значения: это сравнительно простой обычно печатная форма 205).Value = сокрлп(СтрокаТаб1.СтрокаНазначениеПлатежа);
«Простой список» или для того, чтобы наименование его колонок подготовки файла Эксель, объединенные ячейки имеются, или применять сложные для многих пользователей предыдущий вариант. вариант. Для переноса можно несколькими способами, (щелкнуть по нему)
Подключение внешнего загрузчика
НоваяСтрока.Учреждение=Документ.Учреждение; НоваяСтрока.Сумма=Документ.СуммаДокумента; НоваяСтрока.дата=ТекущаяДата(); тогда // внебюджет Дата(«00010101») тогда Тогда Прервать; КонецЕсли;: терминал? файлы в «D:\tsclient\Заявки2013\», «С подробным описанием». при добавлении новых отличается от наименования так и после. их нужно разделить. комбинации действий.
редактировать документ прощеТакже в любых версиях данных в Эксель в зависимости от и нажать Файл->Сохранить //НаборЗаписейРегистра.Записать(); ОбщаяСумма=ОбщаяСумма+Документ.СуммаДокумента; КонецЕсли; НаименованиеКРО=лев(сокрлп(КБК12),Размер-5); // без Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-1, 178).Value = КонецЦикла; Лист =Augusto нельзя использовать каталог
Загрузка данных
После того, как все то нужно переименовать загрузки оба этих понятной, без применения программой среди бухгалтеров, Excel можно удалить нажать комбинацию клавиш что тут мы Рассмотрим, как это и.xls
справочник. Для этого имеются столбцы, для 1С, которые созданы то это поможет количество конфигураций для ручного заполнения. директорию, в которой колонки из списка.: 1. Вывести печатную Лист.Cells(25+((КолСтр*4))+1, 43).Value =
Как скопировать базу клиентов из 1С в ексель?
Выделяем ячейку в 1С, кнопкой на табличной Лист.Cells(25+((КолСтр)*4)+1+7, 201).Value = КонецЕсли; ////Для ВКР 181).Value = Документ.Контрагент.НаименованиеПолное;
Эксель.Selection.insert(); Эксель.Worksheets(1).Rows(30+(к-1)*4+3).Select(); Эксель.Selection.insert(); в разделе.
Excel-файл не создан!»); файлу, выбираете формат номенклатуры и убедиться,
идля версии 1С допускается наличие обозначения, ведение учета именно того, как в значение Если же вы содержимое которой нужно части документа, выбрать Формат(Документ.Дата, «ДФ=»'»»»дд»»»» ММММ
Как скопировать из 1с в Excel План счетов бухгалтерского учета?
«Цена» 8.3. например, килограмм, отображаемого в этой программе.
После того, как настройки. Можно воспользоваться также -> ОК. Далее
массу времени. Если не распечатать документ,«Лист Excel 2007 — кнопку действует в большинстве :) «от «+Формат(ДатаЗаявки, «ДФ=»'»»»дд»»»»
МУ»))или(Найти(Документ.Учреждение.Наименование,»ХЭК»))или(Найти(Документ.Учреждение.Наименование,»Логопеды»))или(Найти(Документ.Учреждение.Наименование,»Аппарат»)) тогда Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3, Запрос(» |ВЫБРАТЬ * КонецЦикла; Для к=1 выгруженный документ. Но +n+ «.xls»); Лист грузят доки в 1C 8.3. Для столбцов, которые отображены
epf понимать как разные на предприятии велся а конвертировать его … (*.xlsx)»«OK программ, работающих наТеоретически вместо «Сохранить ММММ гггг'»)+» года»; 199).Value =НаименованиеКРОсКЭК; Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3, |ИЗ |Справочник.БанковскиеИКазначейскиеСчета |ГДЕ по КоличествоСтрок цикл главное не в = Книга.WorkSheets(1); КонецЦикла;Как эксель других справочников и
в загрузчике, уупакован в архив, величины, поэтому нужно учет с помощью
в Эксель. Легче. Также при желании». ОС Windows: просто копию. » можно Лист.Cells( 7,161).Value =
= Запрос.Выполнить().Выбрать(); Пока 0; Эксель.Selection.Copy(); Книга.Worksheets(1).Rows(25+(к*4)+1).Select(); том, что через
Augusto = Эксель.WorkBooks.Open(«D:\tsclient\Заявки2013\shablon1.xls»); Затем проводиться по тому
далее Копировать/Вставить в лев(сокрлп(ЛС),8); Лист.Cells(10,161).Value = КонецЕсли; Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3, 200).Value Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3, 185).Value = из Документ.РасшифровкаПлатежа Цикл более пользователей файлы файловНо есть загвоздка: с которыми пользователь столбцов, где имеются на кнопку, запускающуюОбязательно наличие уникальных идентификаторов. Excel
вписанного в оранжевую не повторяется в на начальном периоде
Как сохранить документ 1С в EXCEl
Для каждого Запись тогда Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3, 198).Value кол1 = Документ.РасшифровкаПлатежа.Количество();Dethmontt1C ИмяВременногоФайла = так.: Если версия раньше, Эксель, который нам
иначе НаименованиеКРОСКЭК=»\0702\775\5200900\611\888\ФП1238-10_1\1″+СтрокаТаб1.КОСГУНазначениеПлатежа.Код+»\РГ-В-0100\1-01-П00-О00\МУ»; КонецЕсли; Запись.СтруктураРПС.ТипПланаСчетов=Перечисления.ТипыПлановСчетов.ДляКазенных тогда Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3, стр=СтрокаТаб1.НомерСтроки; Для к, если бы выAugusto файлом экселя, это
Можно ли в 1с предприятие 8.1 в номенклатуру скопировать данные с Excel файла
быть значок - установлен для расширения типа данных. конвертировать. Для этогоПеречень заказов;
настроек жмем наЗапускается окошко вывода списка.Список вставлен в документ.
ячейка выделена. загрузки табличных файлов. «»»+сокрлп(УчреждениеПодбора.Наименование)+»»); Режим=РежимДиалогаВопрос.ДаНет; Текст=»ru=»»Показать
КонецЦикла; КонецЕсли; Если 198).Value Только просмотр» -mxlВозвращаемся к окну обработки. переходим во вкладку
Информация о покупках или кнопку Настройки в немТакже список из программы
[expert_bq id=»1570″]Для начала добавим нашу обработку в состав внешних обработок базы для удобства использования и чтобы в следующий раз не искать ее на диске ИТС. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Подключить внешний загрузчик с расширением epf к приложению 1С можно, как до подготовки файла Эксель, так и после. Главное, чтобы к началу процесса выполнения загрузки оба этих подготовительных момента были решены.Как сделать импорт в 1с из excel в?
- СтрокаТаб1.СуммаВал; Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-3, 204).Value
- тогда // бюджет
- тогда Лист.Cells(25+(СтрокаТаб1.НомерСтроки*4)-2, 178).Value
- КонецПопытки; n =
- 1); в shablonN+1. Не
идля версии 1С допускается наличие обозначения, ведение учета именно того, как в значение Если же вы содержимое которой нужно части документа, выбрать Формат(Документ.Дата, «ДФ=»'»»»дд»»»» ММММ
1С сохранить табличный документ в файл
1С:Предприятие 8.1 предоставляет возможность сохранения табличного документа в файлы различных форматов:
В случае сохранения табличного документа в файл другого формата возможна потеря некоторых элементов оформления. Для сохранения табличного документа в файл одного из форматов нужно воспользоваться командой «Сохранить копию. » из меню «Файл». В появившемся диалоговом окне выбрать нужный тип файла, например «Лист Excel (*.xls)», и сохранить файл:
Сохранение табличного документа в файлах разных форматов позволяет передавать их пользователям, у которых по каким-либо причинам не установлено 1C:Предприятие 8.1. Например, можно сохранить представление счета-фактуры в файл в формате HTML и переслать этот файл клиенту по электронной почте.
MS Excel давно стал стандартом для работы с электронными таблицами. В статье рассматриваются способы программной выгрузки и загрузки из 1С в файлы Excel.
Существует несколько способов программной работы с файлами Excel из 1С. Каждый из них имеет свои преимущества и недостатки.
Обмен через табличный документ
Данный способ простой. Его суть заключается в том, что объект ТабличныйДокумент имеет методы:
Метод Записать () доступен как на клиенте, так и на сервере. Метод Прочитать () доступен только на стороне сервера. Необходимо помнить об этом
при планировании клиент-серверного взаимодействия.
Рассмотрим пример сохранения табличного документа в файл. Необходимо любым способом создать и заполнить объект ТабличныйДокумент, а выгрузка в файл осуществляется всего лишь одной строкой:
ТабДок . Записать ( ПутьКФайлу , ТипФайлаТабличногоДокумента . XLSX );
Здесь ТабДок — сформированный табличный документ, ПутьКФайлу — имя файла для выгрузки, ТипФайлаТабличногоДокумента.XLSX — формат создаваемого файла. Поддерживаются следующие форматы Excel:
Загрузка из файла осуществляется также достаточно просто:
ТабДок = Новый ТабличныйДокумент ;
ТабДок . Прочитать ( ПутьКФайлу , СпособЧтенияЗначенийТабличногоДокумента.Значение );
Здесь ПутьКФайлу — путь к загружаемому файлу Excel. СпособЧтенияЗначенийТабличногоДокумента.Значение определяет, каким образом нужно интерпретировать данные, считываемые из исходного документа. Доступны варианты:
Обмен через OLE
Обмен через технологию OLE automation, пожалуй, самый распространенный вариант программной работы с файлами Excel. Он позволяет использовать весь функционал, предоставляемый Excel, но отличается медленной скоростью работы по сравнению с другими способами. Для обмена через OLE требуется установка MS Excel:
// Запись значения в ячейку
Лист . Cells ( НомерСтроки , НомерКолонки ). Value = ЗначениеЯчейки ;
// Закрытие Эксель и освобождение памяти
Эксель . Quit ();
Эксель = 0 ;
// Чтение значения ячейки, обычно здесь располагается цикл обхода ячеек
ЗначениеЯчейки = Лист . Cells ( НомерСтроки , НомерКолонки ). Value ;
// Закрытие Эксель и освобождение памяти
Эксель . Quit ();
Эксель = 0 ;
// Открытие книги
Книга = ПолучитьCOMОбъект ( ПутьКФайлу );
// Позиционирование на нужном листе
Лист = Книга . Worksheets ( 1 );
// Чтение значения ячейки, обычно здесь располагается цикл обхода ячеек
ЗначениеЯчейки = Лист . Cells ( НомерСтроки , НомерКолонки ). Value ;
Для обхода всех заполненных строк листа Excel можно использовать следующие приемы:
// —— ВАРИАНТ 1 ——
КоличествоСтрок = Лист . Cells ( 1 , 1 ). SpecialCells ( 11 ). Row ;
Для НомерСтроки = 1 По КоличествоСтрок Цикл
ЗначениеЯчейки = Лист . Cells ( НомерСтроки , НомерКолонки ). Value ;
КонецЦикла;
// —— ВАРИАНТ 2 ——
НомерСтроки = 0 ;
Пока Истина Цикл
НомерСтроки = НомерСтроки + 1 ;
ЗначениеЯчейки = Лист . Cells ( НомерСтроки , НомерКолонки ). Value ;
Если НЕ ЗначениеЗаполнено ( ЗначениеЯчейки ) Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Вместо последовательного обхода всех строк листа можно выгрузить все данные в массив и работать с ним. Такой подход будет быстрее при чтении большого объема данных:
ВсегоКолонок = Лист . Cells ( 1 , 1 ). SpecialCells ( 11 ). Column ;
ВсегоСтрок = Лист . Cells ( 1 , 1 ). SpecialCells ( 11 ). Row ;
Область = Лист . Range ( Лист . Cells ( 1 , 1 ), Лист . Cells ( ВсегоСтрок , ВсегоКолонок ));
Данные = Область . Value . Выгрузить ();
В таблице ниже приведены наиболее востребованные свойства и методы для работы с Excel через OLE:
Для того, чтобы узнать какое свойство нужно менять или какой метод вызвать можно воспользоваться макросами Excel. Если записать макрос с требуемыми действиями, то после можно посмотреть программный код на VBA записанного макроса.
Использование COMSafeArray
Обмен через ADO
Файл Excel при обмене через ADO представляет собой базу данных, к которой можно обращаться при помощи SQL-запросов. Установка MS Excel не требуется, но обязательно наличие драйвера ODBC, при помощи которого будет осуществляться доступ. Используемый драйвер ODBC определяется при указании строки соединения к файлу. Обычно требуемый драйвер уже установлен на компьютере.
Обмен через ADO заметно быстрее обмена через OLE, но при выгрузке нет возможности использовать функционал Excel для оформления ячеек, разметки страниц, задания формул и т.д.
// Создание COM-объекта для соединения
Соединение = Новый COMОбъект ( «ADODB.Connection» );
// Создание COM-объекта для команды
Команда = Новый COMОбъект ( «ADODB.Command» );
Команда . ActiveConnection = Соединение ;
// Удаление команды и закрытие соединения
Команда = Неопределено;
Соединение . Close ();
Соединение = Неопределено ;
Для создания нового листа и формирования его структуры можно воспользоваться объектами ADOX.Catalog и ADOX.Table. В этом случае код примет вид:
// Создание COM-объекта для работы с книгой
Книга = Новый COMОбъект ( «ADOX.Catalog» );
Книга . ActiveConnection = Соединение ;
// Создание COM-объекта для работы со структурой данных на листе
Таблица = Новый COMОбъект ( «ADOX.Table» );
Таблица . Name = «Лист1» ;
Таблица . Columns . Append ( «Колонка1» , 202 );
Таблица . Columns . Append ( «Колонка2» , 7 );
Таблица . Columns . Append ( «Колонка3» , 5 );
Таблица . Columns . Append ( «Колонка4» , 5 );
// Создание в книге листа с описанной структурой
Книга . Tables . Append ( Таблица );
Таблица = Неопределено;
Книга = Неопределено;
во втором параметре указывается тип колонки. Параметр необязательный, вот некоторые значения типа колонки:
// Создание COM-объекта для соединения
Соединение = Новый COMОбъект ( «ADODB.Connection» );
// Создание COM-объекта для получения выборки
Выборка = Новый COMОбъект ( «ADODB.Recordset» );
ТекстЗапроса = «SELECT * FROM [Лист1$]» ;
// Выполнение запроса
Выборка . Open ( ТекстЗапроса , Соединение );
// Обход результата выборки
Пока НЕ Выборка . EOF () Цикл
ЗначениеКолонки1 = Выборка . Fields . Item ( «Колонка1» ). Value ; // Обращение по имени колонки
ЗначениеКолонки2 = Выборка . Fields . Item ( 0 ). Value ; // Обращение по индексу колонки
Выборка . MoveNext ();
КонецЦикла;
Выборка . Close ();
Выборка = Неопределено;
Соединение . Close ();
Соединение = Неопределено;
В строке соединения параметр HDR определяет как будет восприниматься первая строка на листе. Возможны варианты:
- YES — первая строка воспринимается как названия колонок. К значениям можно обращаться по имени и по индексу колонки.
- NO — первая строка воспринимается как данные. К значениям можно обращаться только по индексу колонки.
В приведенных примерах рассмотрено лишь несколько объектов ADO. Объектная модель ADO состоит из следующих объектов:
Выгрузка без программирования
Для сохранения данных из 1С в Excel не всегда целесообразно прибегать к программированию. Если в режиме Предприятия пользователь может отобразить требуемые для выгрузки данные, то, их возможно сохранить в Excel без программирования.
Для сохранения табличного документа (например, результата отчета) можно вызвать команду Сохранить или Сохранить как… главного меню.
В открывшемся окне требуется выбрать каталог, имя и формат сохраняемого файла.
Для сохранения данных динамических списков (например, списка номенклатуры) необходимо:
Остались вопросы?
Спросите в комментариях к статье.
В последнее время мне очень часто приходится работать с таблицами Excel из 1С. Это первая статья, посвященная работе с Excel из 1С и в ней я покажу как сохранять несколько табличный документов в одном, многостраничном файле Excel.
С помощью объекта ПакетОтображаемыхДокументов
Начиная с версии 8.3.3 платформы 1С реализован объект ПакетОтображаемыхДокументов, через который и реализована печать во всех современных типовых конфигурациях. С помощью этого объекта очень легко сформировать многостраничную книгу Excel, т.е. каждый табличный документ выводится на своем листе.
ИмяФайла — имя файла в который будет сохранена книга. Можно перед вызовом функции предлагать пользователю указать каталог, куда будет сохраняться файл, и в параметр передать полный путь до файла, например «D:ФайлыМойФайлЭксель.xlsx».
МассивДанных — массив соответствий с данными для формирования книги. Массив собираю на сервере. Соответствие представляет из себя коллекцию значений в связки с ключем. Ключи — Имя (имя листа в книге) и АдресВХранилище (адрес табличного документа во временном хранилище).
В отличие от второго варианта файл сохраняется значительно быстрее.
С помощью COM-объекта Excel.Application
Этот вариант подойдет тем, кому приходится работать со старыми версиями платформы. 1С позволяет сохранять табличный документ в эксель:
Указав в качестве типа файла таблицы ТипФайлаТабличногоДокумента.XLSX в итоге получим файл Эксель, но в нем мы не увидим привычных листов, соответственно и сохранить несколько табличных документов в одну книгу не получится.
В результате изучения проблемы и поисков в интернете, родился следующий алгоритм, который был реализован в качестве процедуры:
1С сохранить табличный документ в excel программно — Вэб-шпаргалка для интернет предпринимателей!
- YES — первая строка воспринимается как названия колонок. К значениям можно обращаться по имени и по индексу колонки.
- NO — первая строка воспринимается как данные. К значениям можно обращаться только по индексу колонки.
в том, что которые были указаны перенести данные из и финансовой сфере, «Microsoft Excel - ДетКЭК=»212.2″; НаименованиеКРОсКЭК=СтрЗаменить(НаименованиеКРО,»КЭК»,ДетКЭК); КонецЕсли; тогда СводныеРасходы=»888″; КЭК=»КЭК»; каждой расшифровки документа подогнать и под Пока Истина Цикл