1с сохранить табличный документ в csv
В данном примере хочу привести несколько универсальных функций по выгрузке таблицы значений в файл и дальнейшего чтения из файла:
Порядок программных действий при выгрузке в файл выглядит так:
- Подготавливаем таблицу значений (выгружаем из табличной части, выбираем колонки);
- Конвертируем таблицу значений в табличный документ;
- Сохраняем табличный документ в MXL.
При загрузке таблицы порядок действий такой:
- Читаем из файла табличный документ;
- Конвертируем табличный документ в таблицу значений;
- Используем эту таблицу значений в своих целях (загружаем в табличную часть).
Соответственно файл для хранения данных таблицы имеет расширение *.mxl.
Основные функции для реализации поставленной задачи следующие:
ПреобразоватьТДвТЗ – Функция преобразования табличного документа в таблицу значений.
ПреобразоватьТЗвТД – Функция обратного преобразования таблицы значений в табличный документ.
ПрочитатьТЗИзMXL – Читает из файла данные, определяет колонки таблицы и преобразует эти данные в таблицу значений.
ЗаписатьТЗВMXL – Преобразует таблицу значений в табличный документ и записывает его в файл.
Еще небольшой набор функций для вывода таблицы значений в табличный документ. После формирования табличного документа, - сохраняем его в файл mxl.
Табличный документ можно сохранить a файлы следующих типов:
- ANSITXT - Текстовый документ
- DOCX - документ MS Word
- HTML
- HTML3
- HTML4
- HTML5
- MXL
- MXL7
- ODS - Файл Open Office
- PDF - файл Acrobat Readr
- TXT - Текстовый документ
- XLS - файл Excel
- XLS95 - файл Excel95
- XLS97 - файл Excel97
- XLSX - файл Excel2010
Пример выгруженной таблицы значений в файл:
Похожие FAQ
10060 (0x0000274C): Попытка установить соединение была безуспешной 19
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через терминал, а еще у нее свой ноутбук и 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C: Enterprise Development Tools 50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем Cодержимое указанного ниже веб-сайта в этом приложении блокируется. Aboutsecurity_1cv8c.exe 1
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Посмотреть все результаты поиска похожих
Еще в этой же категории
Ключевые слова и Изображения
Слова упорядочены по частоте использования в тексте
Изображения
На днях потребовалось выгрузить данные из таблицы значений в CSV-файл. Спросил у гугла готовый код и. поставил его в тупик. Тогда отправился в закрома и нарыл универсальную процедуру на Delphi, которую когда-то (много-много лет тому назад) написал. Перевел ее на 1С-овременный язык. И вот что получилось.
Увы! Статья не может состоять только из кода. После некоторых раздумий я решился осквернить этот скрижаль мысли в рамках RFC4180, квинтэссенцию материализации файла с разделителями на накопителях и прочее и прочее своим косноязычным описанием сего таинства.
Пролью свет и приоткрою глаза начинающего программиста Архипа на это чудо. Итак, слушай, о достопочтенный начинающий программист Архип.
Прежде всего должен ты получить таблицу значений. Самый простой способ - написать запрос и выгрузить результат в упомянутую мной сущность бытия данных. Затем надо определиться с именем файла. После этого дозволь обратить твой взор, о начинающий программист Архип, на функцию СоздатьДанныеCSV(таблицаЗначений, разделитель = ",", выводитьЗаголовок = ЛОЖЬ). В эту функцию передается та самая таблица значений, полученная из запроса. А кроме нее разделитель полей. А потом принять ответственное решение на заполнение первой строки названиями колонок этой самой, выше упомянутой таблицы значений (см. функцию СоздатьЗаголовкиCSV).
А дальше таблица значений будет читаться построчно, и каждая строка ее будет превращаться в сроковое значение в соответствии с заклинанием манускрипта СоздатьСтрокуCSV(запись,разделитель).
Специальные предложения
Боюсь ошибку выдаст программа сия, о достопочтенный учитель, в случае когда надо вывести заголовки.
В функции СоздатьЗаголовкиCSV нет начального описания переменной стрКолонки.
(6) Прости учитель. С первого класса у меня так - сначала скажу, потом подумаю, а часто и не подумаю - скажу. Из-за чего часто выгоняли в коридор.
На длинных таблицах код будет быстро деградировать по производительности. И только эта деградация спасёт от переполнения памяти. Тут либо уж сразу в файл писать, либо использовать ЗаписьXML как StringBuilder.
Вот пример. Учтите только, что этому коду уже 6 лет.
(8) speshuric,
Все так. Нужно будет выгрузить большие объемы - деградируем. Хотя csv и большие объемы - сомнительный союз.
(12)
Не соглашусь. Именно CSV нереально рулит на больших объёмах. Какие другие варианты в родном 1С-коде? XML - это вообще нецензурно. DBF - ограничение в сколько-то гигов (то ли 2 то ли 4 то ли еще что-то подобное). JSON - слишком молодо и оверхэд всё равно заметный. Табличный документ (в MXL или XLSX) сдохнут в районе миллиона строк. Остаются только внешние источники данных (или сразу ADO), там можно по частям запихивать, но не все получатели могут через ODBC/ADO. Все остальные средства - неродные вроде бы. И вот - единственный финалист CSV - благо во всех языках, в том числе 1С, его прочитать можно последовательно. Но и CSV в памяти тогда весь держать не следует, конечно же.
(13) speshuric,
Ok, прозвучало убедительно, после праздников выпущу в свет второй комплект процедур и функций для больших массивов.
(14) starik-2005,
про паспорта мне комментировать сложно, не тот профиль. Но есть предположение что, что-то не то в регламенте обмена. У меня получается на 1 недействительный паспорт 4+6+6 символов, плюсом 3 запятых. Итого 20(21) символ на запись с учетом ПС. 1073741824 /21=51130563 паспортов. Каждый третий в стране поменял паспорт. Интересно за какой период эта выборка?
Ну есть же в формате вариант для описания нулевого значения!
Дальше если в поле есть символ ( " ), то вы такое поле помещаете в кавычки:
Если на входе будет такая строка, то что получится:
В итоге все преобразуется в строку:
Как это распарсится при чтении? Хреново. В действительности, надо все символы ( " ) заменить на символы ( "" ), т.е. так:
Что, я один это увидел?
(10) starik-2005,
чуть выше проверки на кавычку в строке есть строка, предлагаемый Вами вариантом с заменой кавычки на пару кавычек
так-что вроде все справедливо.
А насчет 0 у числового значения: у 1С трудно понять в числовом значении где 0, а где NULL.Поэтому и проверяю если тип = ЧИСЛО и пусто, то пусть будет 0, а не пустое значение. Хотя вопрос интересный. Или имелось ввиду
Общий формат и MIME-тип для значений, разделенных запятыми (CSV файлов)
В то же время, различные программы и операционные системы с низапямятных времен используют различные MIME-типы для этого формата. Этот RFC документ официально регистрирует "text/csv" MIME-тип для CSV в соответствии с RFC 2048 [1].
В то время как существуют различные реализации и спецификации для CSV формата
(напр. [4], [5], [6] и [7]), не существует ни одной официальной спецификации
в настоящее время, что позволяет существовать множеству разнообразных
интерпретации CSV файлов. Этот раздел описывает формат, которому, похоже,
следуют большинство реализаций:
1. Записи расположены на отдельных строках, разделенных символом разрыва
строки (CRLF). Например:
ааа, bbb, ссс CRLF
zzz, ууу, ххх CRLF
2. Последняя запись в файле может иметь или не иметь перенос строки.
Например:
ааа, bbb, ссс CRLF
zzz, ууу, ххх
3. Опционально и совсем необязательно в первой строке файла может быть
расположен заголовокв том же формате, как и для обычных записей строк.
Этот заголовок будет являться именами соответствующих полей в файле и
должн содержать такое же количество полей, как записи в остальной части
файла (наличие или отсутствие строки заголовка должно быть указано с
помощью дополнительного параметра этого MIME-типа). Например:
field_name, field_name, field_name CRLF
ааа, bbb, ссс CRLF
zzz, ууу, ххх CRLF
4. В пределах заголовка и каждой записи, может быть одно или более
полей, разделенных запятыми. Каждая строка должна содержать то же самое
количество полей по всему файлу. Пробелы считаются частью поля и не
должны игнорироваться. Последнее поле в записи не должна оканчиваться
запятой. Например:
5. Каждое поле может быть (а может и не быть) заключено в двойные
кавычки (однако некоторые программы, такие как Microsoft Excel, могут не
использовать двойные кавычки вообще). Поля, не заключеные в двойные
кавычки, не могут содержать двойные кавычки внутри полей. Например:
"ааа", "bbb", "ccc" CRLF
zzz, ууу, ххх
6. Поля, содержащие разрывы строки (CRLF), двойные кавычки, или запятые
должены быть заключены в двойные кавычки. Например:
"ааа", "b CRLF
bb ","ccc" CRLF
zzz, ууу, ххх
7. Если двойная кавычка используется внутри заключенного поля, то она
должна быть экранирована другой двойной кавычкой. Например:
ABNF грамматика (англ. augmented Backus-Naur form — расширенная форма
Бэкуса — Наура) [2] выглядит следующим образом:
file = [header CRLF] record *(CRLF record) [CRLF]
header = name *(COMMA name)
record = field *(COMMA field)
field = (escaped / non-escaped)
escaped = DQUOTE *(TEXTDATA / COMMA / CR / LF / 2DQUOTE) DQUOTE
CR = %x0D ;как указано в разделе 6.1 RFC 2234 [2]
DQUOTE = %x22 ;как указано в разделе 6.1 of RFC 2234 [2]
LF = %x0A ;как указано в разделе 6.1 of RFC 2234 [2]
CRLF = CR LF ;как указано в разделе 6.1 of RFC 2234 [2]
TEXTDATA = %x20-21 / %x23-2B / %x2D-7E
Этот раздел содержит media-type описание приложений (в соответствии
с RFC 2048 [1]).
Повсеместно использование CSV в US-ASCII, но и другие кодировки могут
быть использованы в сочетании с параметром "Charset" .
Параметр "header" указывает на наличие или отсутствие строки заголовка.
Допустимые значения "present" или "absent". Разработчики могут не
использовать этот параметр должен самостоятельно принимать решение
относительно того, присутствует или отсутствует строка заголовка.
Как указано в разделе 4.1.1 RFC 2046 [3], этот media-тип использует CRLF
для обозначения разрыва строки, однако, разработчики должны знать, что
некоторые реализации могут использовать другие значения.
CSV-файлы содержат пассивный текстовые данные которые не должны создавать
каких-либо рисков. Тем не менее, теоретически возможно, что злонамеренные
двоичные данные могут быть включены для того, чтобы использовать
потенциальное переполнение буфера в программе обработки CSV данных.
Кроме того, частные данные могут быть переданы через этот формат (что,
конечно, относится к любому текстовых данных).
Из-за отсутствия единой спецификации, существуют значительные
различия между реализациями. Разработчики, вы должны "быть
консервативными в том, что вы делаете, и быть либеральным в том,
что вы принимаете от других"(RFC 793 [8]), когда делаете обработку
файлов CSV. Попытка создать общее определение можно найти в разделе 2.
Разработчик, решенив не использовать параметр "header" должен принимать
самостоятельно решение относительно того, присутствует ли заголовок
или отсутствует.
В то время как множество собственных спецификации существуют для различных программ и систем, не существует ни одного «хозяина» спецификации для этого формата. Попытка общего определения можно найти в разделе 2.
Приложения, использующие этот media-тип:
Электронные таблицы и различные утилиты преобразования данных.
Магическое число: нет
Расширение файла: CSV
Macintosh тип файла: TEXT
Email для получения дополнительной информации:
Назначение использования: ОБЩЕЕ
Автор / Контроллер: IESG
4. Соображения IANA
IANA зарегистрировал MIME-тип "text/csv" с помощью
приложения, предусмотреного в разделе 3 настоящего документа.
5. Вопросы безопасности
См обсуждение выше в разделе 3.
6. Выражаю признательностт
Автор хотел бы поблагодарить Dave Crocker, Martin Duerst, Joel M.
Halpern, Clyde Ingram, Graham Klyne, Bruce Lilly, Chris Lilley, и
членов IESG за их полезные предложения. Особое слово
благодарности Дэйву за помощь с грамматикой ABNF.
Особая благодарность L.T.S.
7.1. Нормативные ссылки
[1] Freed, Н., Кленсин, J., и J. Постел, "Интернет Многоцелевой
Mail Extensions (MIME) Часть четвертая: Процедуры регистрации ", BCP
13, RFC 2048, ноябрь 1996 года.
[2] Крокер, Д. и П. Overell, "Augmented BNF для синтаксиса
Технические характеристики: ABNF ", RFC 2234, ноябрь 1997 года.
[3] Freed, Н. и Н. Borenstein, "Многоцелевой Internet Mail
Расширения (MIME) Часть вторая: Типы носителей ", RFC 2046, ноябрь
1996.
7.2. Информативные ссылки
[8] Постел, J., "Протокол управления передачей", STD 7, RFC 793,
Сентябрь 1981.
Yakov Shafranovich
SolidMatrix Technologies, Inc.
Собственно самая интересная часть:
file = [header CRLF] record *(CRLF record) [CRLF]
header = name *(COMMA name)
record = field *(COMMA field)
name = field
field = (escaped / non-escaped)
escaped = DQUOTE *(TEXTDATA / COMMA / CR / LF / 2DQUOTE) DQUOTE
non-escaped = *TEXTDATA
TEXTDATA = %x20-21 / %x23-2B / %x2D-7E
В 1С 8.3 CSV формат используется для упрощенной выгрузки таблицы. В основном для синхронизации информации с сайтом, выгрузкой/загрузкой документов, прайс-листов. Это универсальный текстовый формат, служащий для типизации данных таблицы. В качестве разделителей используются спец. символы: Символы.Таб или , (запятая) или ; (точка с запятой). Как правило, в первой строчке обозначены названия колонки, во второй и далее - соответсвенно данные. Встроенного функционала для работы с CSV и 1С 8.3 не существует. Однако есть универсальные вспомогательные модели (функции) которые помогают с обработкой данных из CSV файла - например, РазложитьСтрокуВМассивПодстрок . Для работы с CSV файлами больших размеров (более 10Mb) рекомендуется использовать ADO - COMОбъект("ADODB.Connection") .
&НаКлиенте
Процедура ЧтениеФайлаCSV ()
ФайлCSV = Новый ТекстовыйДокумент ;
ФайлCSV . Прочитать ( "D:\import_21092020.csv" );
ЗагрузитьCSV ( ФайлCSV );
&НаСервере
Процедура ЗагрузитьCSV ( ФайлCSV )
ТЗ = Новый ТаблицаЗначений ;
// Важно! Чтобы в значениях НЕ встречался используемый разделитель
ИспользуемыйРазделитель = ";" ;
//*** Если есть шапка таблицы ***
ШапкаCSV = ФайлCSV . ПолучитьСтроку ( 1 );
// Чтение и разделение на отдельные значения в массив (по разделителю)
МассивCSV = СтрРазделить ( ШапкаCSV , ИспользуемыйРазделитель );
//***************************
Для Каждого СтрокаНом Из МассивCSV Цикл
// Удаляем пробелы т.к. в названии столбцов они не допускаются
ИмяБП = СтрЗаменить ( СтрокаНом , " " , "" );
ТЗ . Колонки . Добавить ( ИмяБП ,, СтрокаНом );
Для НомерСтроки = 2 По ФайлCSV . КоличествоСтрок () Цикл // Если без шапки, то начинаем с первой строчки
// Получаем строку по-порядку
СтрокаCSV = ФайлCSV . ПолучитьСтроку ( НомерСтроки );
// Разделяем с помощью выбранного разделителя каждую строку на столбцы
МассивCSV = СтрРазделить ( СтрокаCSV , ИспользуемыйРазделитель );
НоваяСтрочка = ТЗ . Добавить (); // Добавляем строку в ТЗ
Для НомСтолбца = 1 По МассивCSV . Количество () Цикл
ТекЗначениеCSV = МассивCSV [ НомСтолбца - 1 ];
ИмяКолонкиCSV = ТЗ . Колонки [ НомСтолбца - 1 ]. Имя ;
НоваяСтрочка [ ИмяКолонкиCSV ] = ТекЗначениеCSV ;
ИспользуемыйРазделитель = ";" ;
ФайлCSV = "D:\import_21092020.csv" ;
//*** Получаем данные из запроса ***
Запрос = Новый Запрос ;
Запрос . Текст =
"ВЫБРАТЬ
| ВнутреннийПрайс.Код КАК Код,
| ВнутреннийПрайс.Наименование КАК Наименование,
| ВнутреннийПрайс.ЗакупочнаяЦена КАК ЗакупочнаяЦена,
| ВнутреннийПрайс.РозничнаяЦена КАК РозничнаяЦена,
| ВнутреннийПрайс.ОптоваяЦена КАК ОптоваяЦена
|ИЗ
| Справочник.Цены КАК ВнутреннийПрайс" ;
РезультатЗапроса = Запрос . Выполнить (). Выгрузить ();
ТЗ = РезультатЗапроса ;
//**********************************
ТекстCSV = "" ; // Текст с учетом заголовков, разделителей и переноса строк
Для Каждого СтрокаТЗ Из ТЗ Цикл
Если ТекстCSV = "" Тогда
СтрокаКол = "" ;
КолонкиТЗ = ТЗ . Колонки ;
Для Каждого Колонка Из КолонкиТЗ Цикл
СтрокаКол = "" + СтрокаКол + Колонка . Имя + ИспользуемыйРазделитель ;
КонецЦикла;
ТекстCSV = СтрокаКол + Символы . ПС ;
ТекстCSV = ТекстCSV + СтрокаТЗ . Код + ИспользуемыйРазделитель + СтрокаТЗ . Наименование
+ ИспользуемыйРазделитель + СтрокаТЗ . ЗакупочнаяЦена + ИспользуемыйРазделитель + СтрокаТЗ . РозничнаяЦена
+ ИспользуемыйРазделитель + СтрокаТЗ . ОптоваяЦена + Символы . ПС ;
КодANSI = КодировкаТекста . ANSI ;
ТекстовыйФайлЗапись = Новый ЗаписьТекста ( ФайлCSV , КодANSI ); // Создание файла CSV
ТекстовыйФайлЗапись . ЗаписатьСтроку ( ТекстCSV ); // Запись информации в файл
ТекстовыйФайлЗапись . Закрыть (); // Обязательно закрываем, иначе зависает в процессе
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ COM-подключение к базе 7.7 из 8.2 1С 6
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D: ВашаБаза 1с77 " ; Пользователь= Cклонения по падежам 6
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) Результат = " " ; Cодержимое указанного ниже веб-сайта в этом приложении блокируется. Aboutsecurity_1cv8c.exe 1
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э Посмотреть все результаты поиска похожих
Еще в этой же категории
Как быстро вывести таблицу значений в табличный документ? 96
ТекстЗапроса = " ВЫБРАТЬ * ИЗ Справочник.Пользователи" ; ЗапросаДанных = Новый Запрос(ТекстЗапроса); РезЗапроса = ЗапросаДанных.Выполнить().Выгрузить(); ТабДокумент = Новый ТабличныйДокумент; Построитель = Новый Построит Создание Таблицы значений и описание типов значений ее колонок 29
ТаблицаПериодов = Новый ТаблицаЗначений; ТаблицаПериодов.Колонки.Добавить("НомерСтроки", Новый ОписаниеТипов("Число")); ТаблицаПериодов.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.СотрудникиОрганизаций")); ТаблицаП Удаление строк Таблицы Значений 27
// 1. Удаление строк согласно условию НулевыеСтроки = ТаблицаПослеПодмен.НайтиСтроки(Новый Структура(" Сумма" ,0)); Для каждого СтрокаТаблицы Из НулевыеСтроки Цикл ТаблицаПослеПодмен.Удалить(СтрокаТаблицы) КонецЦикла; // Нужно оставить стр Как скопировать, выгрузить данные из одной таблицы значений в другую? 11
Как скопировать или выгрузить данные из одной таблицы значений в другую таблицу значений? 1. Добавление, копирование строк из одной таблицы значений в другую таблицу значений: Для каждого СтрокаТЗ Из Таблица1 Цикл ЗаполнитьЗначенияСвойств(Таблица Объединение 2 таблиц значений 11
// Объединить 2 таблицы значения // тзОсновная - таблица к которой будут изменяться данные // тзПрисоединяемая - таблица из которой будут браться данные // стОтборОдинаковых - стурктура со списком полей по которым определяеться одинаковость запис Посмотреть все в категории Работа с Таблицей Значений
Несмотря на то, что 1С является самой популярной, удобной и надежной информационной системой, имеющей в своей линейке комплекс решений для автоматизации и обработки абсолютно всех бизнес-процессов на предприятиях любого масштаба и области деятельности, все равно у пользователей ежедневно возникает необходимость выгрузить данные из 1С в сторонние программы или файлы. В данной статье рассмотрим, что такое выгрузка из 1С и покажем, как сделать выгрузку из 1С и какие проблемы могут возникать при этом. Забегая вперед, отметим, что если по прочтение статьи вам будет нужно задать вопрос по 1С, обратитесь к нашим специалистам по телефону или через заявку на сайте. Мы свяжемся с вами в кратчайшие сроки.
Данные, которые можно выгружать из 1С
1С любой конфигурации штатно поддерживает выгрузку таких данных как:
- Печатные формы;
- Отчеты;
- Таблицы и списки.
Выгрузка данных из 1С 8.3 возможна во многих популярных форматах:
- Microsoft Excel;
- Microsoft Word;
- PDF;
- Выгрузка в CSV;
- HTML и другие.
Выгрузка печатных форм и отчетов
Любую печатную форму или отчет в 1С можно сохранить в нужном формате. Для этого понадобится открыть форму или отчет, затем выбрать в Главном меню Файл - Сохранить как.
Рис.1 Сохранение печатной формы и отчета
После этого будет открыто окно сохранения файла, в котором указывается имя и тип файла:
Рис.2 Окно сохранения файла
Возможные проблемы при выгрузке из 1С
В некоторых случаях кнопка меню «Сохранить как» может быть недоступна для выбора:
Рис.3 Сохранение невозможно
Это связано с тем, что печатная форма или отчет не активизированы в данный момент. Чтобы печатная форма стала доступна для сохранения, требуется просто кликнуть мышкой в любое место на ней:
Рис.4 Активация печатной формы
Теперь пункт меню «Сохранить как» будет доступен. Если при выгрузке данных у вас возникли также и другие проблемы, обратитесь к нашим специалистам по сопровождению 1С 8.3, мы с радостью вам поможем.
Выгрузка в Excel
Обработка данных в самом популярном табличном формате требует соответствующей выгрузки. Для того чтобы сохранить нужные данные в формате Excel, необходимо в диалоге сохранения файла указать тип Лист Excel2007-. (*.xlsx). Реже необходимо сохранить данные в старом формате Лист Excel (*.xls):
Рис.5 Сохранение нужных данных в формате Excel
Аналогично, выбирая нужный формат, можно сделать выгрузку из 1С в PDF, из 1С в WORD, из 1С в CSV, а также в другие форматы.
Выгрузка произвольных таблиц из 1С
В данном разделе будет показано, как можно выгрузить любые данные, при условии, что у вас есть на это права.
В 1С разработан штатный механизм, который позволяет выгрузить любой список (например, список документов или элементы справочника). Для этого в командной панели любого списка, в группе «Еще» доступна команда «Вывести список»:
Рис.6 Выгрузка списков
Далее требуется указать нужные колонки и нажать кнопку ОК:
Рис.7 Выбор колонок
Информация будет выведена в специальный табличный документ. Этот документ выглядит так же, как любой другой отчет в 1С, и его можно выгрузить точно так же, используя команду Файл – Сохранить как:
Рис.8 Табличный документ
Как выгрузить данные, которые не видно в списке
Зачастую, возникшая задача по выгрузке какой-то список, сопровождается необходимостью добавления туда колонок, которые точно есть в документе (справочнике), но их по каким-то причинам не видно в текущем списке. Пример: в списке «Клиенты» добавить для выгрузки поле «Телефон», которое отображается только в дополнительной панели справа:
Рис.9 Выгрузка данных, не отображающихся в списке
Чтобы телефон можно было выгрузить из 1С, его все же сначала необходимо добавить в список. Для этого надо вызвать команду «Еще - Изменить форму». Далее нам понадобиться в списке колонок найти нужную. Тут есть одна хитрость: разработчики типовых конфигураций почти всегда добавляют поле «Ссылка». Если встать на него, а затем нажать кнопку «Добавить поля», то мы увидим все возможные поля этого справочника. Находим поле «Телефон» и ставим у него галочку использования.
Рис.10 Добавить поля
Рис.11 Выгрузить данные
После этого базу данных клиентов с телефонами можно выгрузить в файл через штатную команду «Вывести список».
Обмен данными с 1С
Гарантируем обмен без ошибок между любыми системами 1С. Условия гарантии прописываем в договоре!
Перенос данных 1С
Переходите на новую программу 1С? Проведем бесплатный анализ и перенесем только необходимые данные
Читайте также: