Домой / Работа в Интернете / Функция сохранения документа в программе 1с бухгалтерия. Хитрости сохранения табличного документа в Excel для дальнейшей работы с ним. Выгружаем печатные формы документов

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

Простая задача:

  • На форме организовать выбор файла (формат файла txt)
  • Заполнить файл данными
  • Ну и сохранить естественно (если файл с данными, то чтобы спросил перезаписать или нет).

Как это сделать?

Организуем форму толстого клиента 1С

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

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

Добавим обработчик нажатия.

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

Организуем форму тонкого клиента 1С

Пример такой же организации формы на тонком клиенте 1С.

Добавляем реквизит в обработку — неограниченная строка (т.е. длина = 0).

Только что добавленный реквизит вытаскиваем на форму. Чтобы открыть его свойства — нажмите на вытащенном реквизите правой кнопкой мыши.

Свойство КнопкаВыбора установите Да.

Тонкий клиент не добавляет автоматически кнопку. Поэтому нам нужно самостоятельно на форму обработки добавить кнопку Записать.

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

Также перетащите добавленную команду на форму (влево).

В модуле у нас также две функции – одна обработчик нажатия кнопки «Записать», который мы добавили. Другая – добавленный нами обработчик события при выборе.

Программируем выбор [имени и места записи] файла

В Windows есть общепринятый диалог работы с выбором файла.

Из 1С есть доступ к управлению этим диалогом. Для этого существует специальный объект «ДиалогВыбораФайла».

Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);

Диалог.Заголовок = "Выберите имя файла для сохранения";

Диалог.МножественныйВыбор = Ложь;

Диалог.Фильтр = "Текстовый файл(*.txt)|*.txt";

//Вызов собственно диалога на экран

Если Диалог.Выбрать() Тогда

//Сюда попадем только если пользователь нажал ОК

//Сохранение выбранного имени файла (полного имени, значит включая путь к нему)

ИмяФайла = Диалог.ПолноеИмяФайла;

КонецЕсли;

Если Вы хотите дать возможность выбирать несколько расширений файлов, например txt и rtf, то нужно написать так:

Диалог.Фильтр = "Документ Microsoft Word (*.txt)|*.txt|"
+ "Документ Microsoft Excell (*.rtf)|*.rtf|";

Программируем запись файла на диск

Для записи текстовых файлов в 1С есть объект «ЗаписьТекста».

Работа с ним очень простая.

Вот пример кода для нашего случая:

Файл = Новый ЗаписьТекста(ИмяФайла);
Файл.ЗаписатьСтроку("Привет!");
Файл.ЗаписатьСтроку("Как дела?");
Файл.Закрыть();

Скачать готовый пример

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

Если при сохранении печатной формы документа или отчета кнопки "Сохранить" и "Сохранить как" меню "Файл" неактивны, это означает, что установлен флаг защиты таблиц. Чтобы его отключить, следует отключить флажок "Запретить редактирование таблиц" (меню "Сервис" - "Настройка параметров конфигурации" - закладка "Вспомогательные"). После этого необходимо заново сформировать печатную форму накладной - сохранение в файл будет доступно.

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


Нас находят: как в 1 с 8 3 сохранить отчетность в excel , как в программе 1с 8 3 настроить найти кнопку сохранить как , как сохранить накладную из 1с в excel, 1с недоступно сохранить как, 1с 7 7 недоступно сохранить как, как сохранить товарные накладные из 1с в экселе чтобы не сбились столбы, как в 1с 8 2 сохранять документы в формате эксель, 1с 7 7 не сохраняет отчет в excel, как сохранить товарную накладную из 1с, в 1 с 8 2 недоступны функции печати и сохранения печатных форм неактивен значок принтера

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

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

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

  • Выгрузка базы из 1С 8.3 целиком — для последующей загрузки на другом компьютере
  • Сохранение отчетов и печатных форм в Excel, Word или PDF
  • Выгрузка таблиц из 1С
  • Получение информации с помощью консоли запросов

Подробнее о них:

Как выгрузить базу из 1с 8.3 целиком (в файл.dt)

Для этого понадобится зайти в режим конфигуратора, затем в главном меню выбрать пункт «Администрирование» — «Выгрузить информационную базу»:

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

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

Выгрузка из 1С в Excel отчетов и печатных форм

Этот способ универсальный и очень простой. Для этого достаточно при открытии печатной формы или отчета.

Например, открываем печатную форму ТОРГ 12, нажимаем ctrl+S (или в меню Файл – Сохранить как) и выбираем тип файла и его имя:

Для действует та же система – отчет выгружается в два клика:

Получите 267 видеоуроков по 1С бесплатно:

Доступно сохранение в основные форматы – excel, word, pdf, html, txt и тд.

Выгрузка таблиц из 1С 8.3

Часто встречаются такие банальные задачи, как «получить список платежек за текущий год», «выгрузить книгу покупок или продаж» или «выгрузить товары из накладной №256». Решить такие задачи достаточно просто.

Например, мне необходимо получить все поступления от контрагента «Вектор» с суммой более 1000. Откроем форму списка и установим нужные отборы в списке:

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

Подобные действия можно произвести практически для любой табличной части в 1С 8.2. Например, нам потребовалось выгрузить список товаров из поступления № МСК00003, не проблема. Делается это очень просто – открываем документ, вызываем контекстное меню и через пару кликов получаем нужную выгрузку в нужном формате:


Выгрузка в Excel журнала проводок из 1С:

Получение информации с помощью консоли запросов

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

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

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

Полученную таблицу можно также выгрузить в нужный формат файла:

Загрузить полученные данные можно в другую базу 1С с помощью « «. Смотрите видеоинструкцию на примере номенклатуры:

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

Как выгружать файлы из 1С

Удобным вариантом переноса информации из 1С является выгрузка. Для этого не требуется копировать данные через буфер обмена, всё происходит проще:

    Пользователь открывает файл в программе 1С;

    Остаётся выбрать нужную локацию на компьютере либо на съёмном диске, куда будет отправлен файл, и формат этого файла. Если стоит вопрос, как сохранить в Экселе, то выбирается формат XLSL.

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

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

Как отправлять файлы из Эксель в 1С вручную

Один из ручных способов – копирование через буфер обмена. Данные выделяются в документе Эксель и привычным сочетанием Ctrl+C – Ctrl+V переносятся в базу 1С. Важно следить, чтобы при переносе не сбилось форматирование и все данные попали в нужные ячейки.

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

Как отправлять файлы из Эксель в 1С автоматически

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

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

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

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

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

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

Для дальнейшей работы с данными, полученными в табличном документе из системы 1С любой версии, их можно сохранить в формате xls(x).

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

Так было и в 7-й версии 1С и перекочевало в 8-ю, да, есть прогресс, в 8-ке можно сохранить в формате xlsx, родном формате последних версий Excel-я.

Для решения задачи есть несколько несложных манипуляций, первое, что приходит на ум любому пользователю, так это пересохранить таблицу в другой формат, но и тут нет нужного результата, потом начинаем делать копи-паст в новую книгу Excel.
Есть еще вариант, как бы для продвинутых пользователей, - это зайти в настройки Excel-я и в разделе Дополнительно поставить галочку "Показывать ярлыки листов". Он является правильным, но тоже является рутинным, в свете частой обработки данных полученных из 1С в виде плоских таблиц и дальнейшего анализа данных в виде сводных таблиц и иных способов представления данных в Excel-е.

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

Все, что нужно, так это использовать два свойства окна Excel :

DisplayWorkbookTabs // признак отображения закладок листов книги TabRatio // соотношение ширины области закладок рабочей книги к ширине горизонтальной полосы прокрутки окна (как число между 0 (ноль) и 1, значение по умолчанию 0.6)

ТабДокумент.Записать(ПолноеИмяФайла, ТипФайлаТабличногоДокумента.XLS); Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(ПолноеИмяФайла); Excel.Visible = 0; Excel.ActiveWindow.DisplayWorkbookTabs = 1; Excel.ActiveWindow.TabRatio = 0.6; FullName = Excel.ActiveWorkbook.FullName; Excel.DisplayAlerts = false; Excel.ActiveWorkbook.SaveAs(FullName, 18); // 18 - xls 97-2003; 51 - xlsx 2007-2013 //Excel.Visible = 1; // если нужно поработать дальше с книгой
//Excel.Application.Quit() // если просто выходим

ТабДокумент.Записать(ПолноеИмяФайла, "XLS"); Excel = СоздатьОбъект("Excel.Application"); Excel.WorkBooks.Open(ПолноеИмяФайла); Excel.Visible = 0; Excel.ActiveWindow.DisplayWorkbookTabs = 1; Excel.ActiveWindow.TabRatio = 0.6; FullName = Excel.ActiveWorkbook.FullName; Excel.DisplayAlerts = false; Excel.ActiveWorkbook.SaveAs(FullName, 18); // 18 - xls 97-2003; 51 - xlsx 2007-2013 //Excel.Visible = 1; // если нужно поработать дальше с книгой
//Excel.Application.Quit() // если просто выходим