<?xml version="1.0" encoding="UTF-8"?>
<chapter id="details.impexp">
<chapterinfo>
  <authorgroup>
    <author
>&Ace.Jones; &Ace.Jones.mail; </author>
  </authorgroup>
  <date
>3 июля 2011 г.</date>
  <releaseinfo
>4.6</releaseinfo>
</chapterinfo>

<title
>Импорт и экспорт</title>

<sect1 id="details.impexp.gnucash">
<sect1info>
  <author
>&Tony.Bloomfield; &Tony.Bloomfield.mail;</author>
</sect1info>

<title
>Модуль импорта файлов &gnucash;</title>

<sect2>
<title
>Файлы &gnucash;</title>

<para
>Доступное в &kmymoney; средство импорта файлов &gnucash; поддерживает непосредственное чтение обычных (&XML;) файлов &gnucash; версий 1.8 и 2.0. Следующие возможности не поддерживаются: </para>

<itemizedlist>
  <listitem
><para
>импорт данных базы данных (Postgres)</para
></listitem>
  <listitem
><para
>импорт файлов «многотомной» книги</para
></listitem>
  <listitem
><para
>импорт в существующий файл &kmymoney;</para
></listitem>
  <listitem
><para
>импорт особых данных малого бизнеса (сотрудники, счета-фактуры и так далее)</para
></listitem>
  <listitem
><para
>экспорт в файлы &gnucash;</para
></listitem>
</itemizedlist>

<para
>Импорт будет выполнен надлежащим образом только в том случае, если используется корректный файл. Поэтому перед осуществлением импорта рекомендуется выполнить в &gnucash; команду восстановления (<menuchoice
><guimenu
>Действия</guimenu
><guimenuitem
>Проверить и восстановить все счета</guimenuitem
></menuchoice
>). </para>

<para
>Файлы возможно открывать с помощью командной строки (<command
>kmymoney &lt;путь к файлу&gt;</command
>) или с помощью пунктов меню &kmymoney; <menuchoice
> <shortcut
><keycombo
>&Ctrl;<keycap
>O</keycap
></keycombo
></shortcut
> <guimenu
>Файл</guimenu
><guimenuitem
>Открыть...</guimenuitem
> </menuchoice
> и <menuchoice
> <guimenu
>Файл</guimenu
><guisubmenu
>Импорт</guisubmenu
> </menuchoice
>. </para>

<para
>Сходство между двумя программными продуктами означает возможность прямого импорта большинства данных, которые используются на повседневной основе. Но существуют определённые области применения программ, в которых возникают различия. Имеется несколько способов обойти такие различия. В следующих разделах будет приведено описание некоторых из этих различий (благодаря этой информации выполнить импорт будет проще). </para>
</sect2>

<sect2>
<title
>Сходства, различия и терминология</title>

<sect3>
<title
>Использование для целей малого бизнеса</title>

<para
>Обратите внимание, что &kmymoney; является программой учёта <emphasis
>личных</emphasis
> финансов и, следовательно, не обеспечивает прямую поддержку таких предназначенных для бизнеса возможностей &gnucash;, как налоговые таблицы, создание платёжных ведомостей и отслеживание лотов. Все содержащиеся в файле счета уплаты или получения платежей будут импортированы как счета пассивов и активов, соответственно. </para>
</sect3>

<sect3>
<title
>Счета</title>

<sect4>
<title
>Типы счетов</title>

<para
>В обоих программах высшим уровнем структуры в файлах является счёт. В &kmymoney; поддерживаются пять основных типов счетов: актив, пассив, доход, расход и финансовый инструмент. У этих счетов есть различные подтипы, например: текущий, кредитная карта и так далее. В &kmymoney; для каждого из этих пяти типов предусмотрен «стандартный» счёт, при этом все остальные счета являются подчинёнными по отношению к ним. &kmymoney; обеспечивает большую согласованность (или — в зависимости от точки зрения — меньшую гибкость) типов счетов, чем &gnucash;. Средство импорта скорректирует все обнаруженные расхождения. Такая коррекция может привести к отклонениям в структуре счёта, но это будет возможно исправить после завершения импорта. </para>
</sect4>

<sect4>
<title
>Статьи бюджета</title>

<para
>В &kmymoney; термин «статья» используется для обозначения счёта доходов ил расходов. В отличие от &gnucash;, такие счета не считаются «реестровыми», поэтому запись папки операций в статьи не поддерживается; при записи операции выполняется распределение данных по счетам других типов. </para>
</sect4>

<sect4>
<title
>Структура и шаблоны подстановки</title>

<para
>&gnucash; поддерживает использование счетов подстановки. По сути, это счета, предназначенные только для чтения, в которые невозможно вносить операции. Они работают аналогично папкам в структуре папок — как вместилище других счетов. Хотя в &kmymoney; и не предусмотрена непосредственная поддержка этой возможности, программа позволяет создавать отношения подчинённости, поэтому средство импорта имитирует шаблоны подстановки путём создания пустых счетов. </para>
</sect4>

<sect4>
<title
>Карта типов счетов</title>

<informaltable frame='all'>
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
<thead>
  <row>
    <entry
>Тип &gnucash;</entry
><entry
>Тип &kmymoney;</entry>
  </row>
</thead>
<tbody>
  <row>
    <entry
><literal
>BANK</literal
></entry
><entry
><literal
>Текущий</literal
></entry>
  </row>
  <row>
    <entry
><literal
>CHECKING</literal
></entry
><entry
><literal
>Текущий</literal
></entry>
  </row>
  <row>
    <entry
><literal
>SAVINGS</literal
></entry
><entry
><literal
>Сберегательный</literal
></entry>
  </row>
  <row>
    <entry
><literal
>ASSET</literal
></entry
><entry
><literal
>Активы</literal
></entry>
  </row>
  <row>
    <entry
><literal
>CASH</literal
></entry
><entry
><literal
>Наличные</literal
></entry>
  </row>
  <row>
    <entry
><literal
>CURRENCY</literal
></entry
><entry
><literal
>Наличные</literal
></entry>
  </row>
  <row>
    <entry
><literal
>MONEYMRKT</literal
></entry
><entry
><literal
>Денежный рынок</literal
></entry>
  </row>
  <row>
    <entry
><literal
>STOCK</literal
></entry
><entry
><literal
>Капитал</literal
></entry>
  </row>
  <row>
    <entry
><literal
>MUTUAL</literal
></entry
><entry
><literal
>Капитал</literal
></entry>
  </row>
  <row>
    <entry
><literal
>EQUITY</literal
></entry
><entry
><literal
>Инструмент</literal
></entry>
  </row>
  <row>
    <entry
><literal
>LIABILITY</literal
></entry
><entry
><literal
>Пассивы</literal
></entry>
  </row>
  <row>
    <entry
><literal
>CREDIT</literal
></entry
><entry
><literal
>Кредитная карта</literal
></entry>
  </row>
  <row>
    <entry
><literal
>INCOME</literal
></entry
><entry
><literal
>Доходы</literal
></entry>
  </row>
  <row>
    <entry
><literal
>EXPENSE</literal
></entry
><entry
><literal
>Расходы</literal
></entry>
  </row>
  <row>
    <entry
><literal
>RECEIVABLE</literal
></entry
><entry
><literal
>Активы</literal
></entry>
  </row>
  <row>
    <entry
><literal
>PAYABLE</literal
></entry
><entry
><literal
>Пассивы</literal
></entry>
  </row>
</tbody>
</tgroup>
</informaltable>
</sect4>
</sect3>

<sect3>
<title
>Операции и разбивки</title>

<sect4>
<title
>Сбалансированные операции</title>

<para
>Как и в &gnucash;, данные вводятся в форме операций, каждая из которых обычно состоит из двух или более записей разбивки. Корректные операции &gnucash; всегда содержат как минимум две разбивки, которые должны находиться в денежном балансе для обеспечения соответствия стандарту двойной записи, используемому в &gnucash; (то есть в сумме они должны равняться нулю). В &kmymoney; приветствуется использование этого стандарта; оно не является обязательным, но при импорте несбалансированной операции в книге учёта будет отображаться соответствующее предупреждение. </para>
</sect4>

<sect4>
<title
>Контрагенты</title>

<para
>В &kmymoney; желательно, чтобы в каждой операции был указан контрагент (общий термин, обозначающий как получателей, так и плательщиков). В отличие от &gnucash;, указанные контрагенты сохраняются в списке. Названия контрагентов формируются средством импорта на основе данных поля описании операции &gnucash;. </para>
</sect4>

<sect4>
<title
>Переводы</title>

<para
>В &kmymoney; термин «переводы» обозначает операцию, которая не задействует какую-либо статью, а только выполняет перевод денег между счетами активов и/или пассивов. </para>
</sect4>

<sect4>
<title
>Сверка</title>

<para
>Функция сверки счетов реализиована в &kmymoney; таким же образом, что и в &gnucash;. Следовательно, будут импортированы соответствующие отметки состоянии операций. </para>
</sect4>
</sect3>

<sect3>
<title
>Товары</title>

<para
>В &gnucash; термин «товары» означает как денежные, так и неденежные активы. В &kmymoney; для каждого из этих видов активов используется отдельный термин. </para>

<sect4>
<title
>Валюты</title>

<para
>&kmymoney; предоставляет встроенную поддержку всех типов зарубежных <link linkend="details.currencies"
>валют</link
>. Для работы с &kmymoney; пользователю также необходимо выбрать базовую валюту, которая будет использоваться в качестве валюты по умолчанию для новых счетов. Средство импорта автоматически определит базовую валюту (но этот выбор будет возможно изменить). </para>

<note
><para
>В текущей версии &kmymoney; отсутствует непосредственная поддержка счетов в «устаревших» валютах (за исключением тех, которые были заменены на евро). Поэтому перед импортом необходимо удалить такие счета из файла &gnucash;. Возможно, поддержка таких счетов будет добавлена в одной из будущих версий программы. </para
></note>
</sect4>

<sect4 id="gncsecurities">
<title
>Ценные бумаги и инвестиции</title>

<para
>Неденежные активы (обычно акции и облигации) в &kmymoney; называются ценными бумагами. В этом заключается основное различие между программами: в &kmymoney; любой счёт ценных бумаг должен быть подчинён инвестиционному счёту. Более подробные сведения об этом доступны в главе <link linkend="details.investments"
>Инвестиции</link
>. Хотя пользователь и может установить подобное отношение между счетами, сама программа &gnucash; не определяет такую структуру, следовательно, средству импорта не удастся выявить подобные счета и выполнить автоматическое преобразование. Доступны три варианта действий: </para>

<itemizedlist>
  <listitem>
    <para
>Создать для каждой ценной бумаги отдельный инвестиционный счёт с тем же названием.</para>
  </listitem>

  <listitem>
    <para
>Создать единый инвестиционный счёт, который будет вышестоящим для всех счетов ценных бумаг.</para>
  </listitem>

  <listitem>
    <para
>Создать несколько инвестиционных счетов и назначить этим счетам ценные бумаги согласно указаниям пользователя.</para>
  </listitem>
</itemizedlist>

<para
>Выбор варианта зависит от задач пользователя. В некоторых случаях после импорта может потребоваться изменить структуру счетов вручную. </para>
</sect4>

<sect4>
<title
>Цены и котировки</title>

<para
>Программа выполнит импорт стоимости ценных бумаг и котировок валют, показанных в редакторе цен &gnucash;. Кроме того, записи цен и курсов будут созданы на основе данных всех операций с ценными бумагами и валютами. </para>
</sect4>

<sect4 id="details.impexp.gncquotes">
<title
>Онлайн-котировки</title>

<para
>Для получения онлайн-котировок ценных бумаг и валют в программе &gnucash; используется пакет <literal
>Finance::Quote</literal
>. Последние версии программы &kmymoney; поддерживают работу с этим пакетом для получения котировок акций. Эту поддержку возможно использовать в качестве стандартной при импорте данных. Но также возможно получить данные с помощью внутреннего метода &kmymoney; (более подробные сведения о нём доступны в разделе, посвящённом <link linkend="details.investments.onlinequotes"
>онлайн-котировкам</link
>). </para>

<para
>Если выбран внутренний метод, в появившемся диалоге будет возможно выбрать «родной» для &kmymoney; источник курсов или указанный пользователем источник курсов для каждого из счетов. Биржевой символ (тикер) будет импортирован без изменений. Так как он, скорее всего, будет разным в разных пакетах, потребуется вручную изменить его по завершении процесса импорта. Во время следующих обновлений курсов валют программа не будет использовать <literal
>Finance::Quote</literal
>; вместо него всегда будет использоваться «родной» способ получения данных. </para>

<para>
	<screenshot>
	<mediaobject>
	<imageobject>
	<imagedata fileref="gnucash-select_price_source.png" format="PNG"/>
	</imageobject>
	</mediaobject>
	</screenshot>
</para>
</sect4>
</sect3>

<sect3 id="gncschedules">
<title
>Запланированные операции</title>

<para
>Программа &kmymoney; не поддерживает заданное в программе &gnucash; разделение шаблонов операций и частоты их выполнения. Данные операции будут продублированы, если тот же шаблон используется в другом графике платежей. Как правило, это не мешает импорту. </para>

<sect4>
<title
>Типы графиков</title>

<para
>В &kmymoney; все графики платежей относятся к одному из следующих трёх типов: счета на оплату, зачисления или переводы. Так как в &gnucash; не предусмотрено такое разделение, средство импорта классифицирует графики на основе данных счетов и движения средств. В некоторых случаях классификация может быть выполнена неверно, и потребуется вручную скорректировать её. </para>
</sect4>

<sect4>
<title
>Сомнительные графики</title>

<para
>Некоторые возможности выполняемых по графику операций &gnucash; недоступны в&kmymoney;, поэтому при каждом преобразовании данных с помощью средства импорта выполняется попытка достичь разумного компромисса. Такие операции будут отмечены как сомнительные, и пользователю будет предложено выполнить их непосредственное редактирование во время процесса импорта. Это может происходить, например, по следующим причинам: </para>

<itemizedlist>
  <listitem>
    <para
>некоторые интервалы платежей, поддерживаемые &gnucash;, недоступны в текущей версии &kmymoney;</para>
  </listitem>

  <listitem>
    <para
>&kmymoney; не поддерживает использование формул и переменных в полях сумм</para>
  </listitem>

  <listitem>
    <para
>сложные случаи, которые ещё не были определены для импорта</para>
  </listitem>
</itemizedlist>

<para
>Несмотря на все усилия авторов программы, импорт графиков платежей по причине наличия огромного количества факторов может повлечь критическую ошибку в работе &kmymoney;. Если это произойдет, средство импорта отобразит запрос на отмену всех сомнительных графиков. </para>
</sect4>
</sect3>

<sect3>
<title
>Отчёты</title>

<para
>В &kmymoney; доступно большое количество настраиваемых отчётов (подробные сведения содержатся в разделе <link linkend="details.reports"
>Отчёты</link
>). Но они не всегда в точности совпадают с аналогичными отчётами, доступными в &gnucash;. </para>
</sect3>
</sect2>

<sect2>
<title
>Настройка параметров средства импорта</title>

<para id="details.impexp.gncoptions">
	<screenshot>
	<mediaobject>
	<imageobject>
	<imagedata fileref="gnucash-import_options.png" format="PNG"/>
	</imageobject>
	</mediaobject>
	</screenshot>
</para>

<sect3>
<title
>Обработка инвестиций</title>

<para
>Смотрите вышеприведённый раздел <link linkend="gncsecurities"
>«Ценные бумаги и инвестиции»</link
>. </para>
</sect3>

<sect3>
<title
>Онлайн-котировки</title>

<para
>Отключите эту опцию, если в дальнейшем следует использовать внутренний метод программы для получения онлайн-котировок. </para>

<para
>Смотрите вышеприведённый раздел <link linkend="details.impexp.gncquotes"
>«Онлайн-котировки»</link
>. </para>
</sect3>

<sect3>
<title
>Запланированные операции</title>

<para
>Смотрите вышеприведённый раздел <link linkend="gncschedules"
>«Запланированные операции»</link
>. </para>
</sect3>

<sect3>
<title
>Расшифровка</title>

<para
>Если в системе используется язык, состоящий из букв или символов, отличных от используемых в романских языках (то есть языков Западной Европы), они будут представлены особым образом («зашифрованы») в файле &gnucash;. Если эти буквы неправильно отображаются на экране, их необходимо расшифровать. Текущая версия программы зачастую не позволяет точно определить, как именно следует выполнить расшифровку, поэтому пользователю может потребоваться установить этот флажок и выбрать подходящий пункт в списке. Обычно подходит первый пункт списка, так как он соответствует локали (то есть стране и языку, которые были выбраны для использования по умолчанию при установке операционной системы). Так как в процессе импорта не выполняется перезапись файла &gnucash;, возможно экспериментировать, выбирая в списке и другие варианты. </para>
</sect3>

<sect3>
<title
>Примечания к операциям</title>

<para
>При определённых условиях неразделённые операции &gnucash; могут содержать остаточные, часто некорректные данные примечаний, которые при обычных условиях невидимы для пользователя. После импорта в &kmymoney; из-за различий в параметрах отображения эти данные становятся видимыми. Часто записи таких операций содержат поле «Примечание», содержащее описание фактического назначения операции. Если этот флажок установлен, подобные примечания, если они имеются, будут использованы для замены избыточных данных. </para>
</sect3>

<sect3>
<title
>Отладка</title>

<para
>Эти параметры рекомендуется включать только в случае ошибок при импорте. Об ошибках также следует сообщить в список рассылки разработчиков &kmymoney;: &devlist;. Обратите внимание, что трассировка, полученная с помощью этих параметров, может содержать конфиденциальную информацию. Поэтому также включите параметр <guilabel
>Обезличить данные</guilabel
>, если эти данные планируется сделать общедоступными. </para>
</sect3>
</sect2>

<sect2>
<title
>Отчёт об импорте</title>

<para
>По завершении процесса обработки средство импорта генерирует отчёт, в котором указано количество обработанных записей различных типов и перечислены произошедшие ошибки или имевшие место несоответствия. Этот отчёт отображается на экране, и его возможно сохранить в файл для последующего ознакомления. Полный отчёт может содержать следующие разделы: </para>

<itemizedlist>
  <listitem>
    <para
>Количество записей</para>
  </listitem>

  <listitem>
    <para
>Несоответствия типов счетов и выполненных действий</para>
  </listitem>

  <listitem>
    <para
>Подробные сведения о сомнительных графиках</para>
  </listitem>
</itemizedlist>

<para>
	<screenshot>
	<mediaobject>
	<imageobject>
	<imagedata fileref="gnucash-report.png" format="PNG"/>
	</imageobject>
	</mediaobject>
	</screenshot>
</para>
</sect2>
</sect1>

<sect1 id="details.impexp.qifimp">
<sect1info>
  <author
>&Thomas.Baumgart; &Thomas.Baumgart.mail;</author>
</sect1info>

<title
>Модуль импорта файлов QIF</title>

<sect2>
<title
>Использование формата QIF считается опасным</title>

<para
>Рекомендуется использовать формат QIF только при крайней необходимости. Он не подходит для передачи финансовых данных. Помимо прочего, с использованием этого формата связаны следующие проблемы: </para>

<itemizedlist>
  <listitem>
    <para
>Отсутствие стандартного формата: разные версии одной и той же программы присваивают разные значения одному и тому же элементу.</para>
  </listitem>

  <listitem>
    <para
>Отсутствие идентификаторов операций: так как для операций не предусмотрены идентификаторы, поиск дубликатов операций будет крайне затруднителен.</para>
  </listitem>

  <listitem>
    <para
>Отсутствие выразительности: словарь формата очень примитивен и не позволяет отразить всю глубину современных финансовых данных.</para>
  </listitem>
</itemizedlist>

<para
>По этим причинам компания Intuit прекратила поддержку работы с входными данными в формате QIF в <application
>Quicken</application
> 2005. Если доступны другие варианты получения данных (например, в формате OFX), не используйте формат QIF. </para>
</sect2>

<sect2>
<title
>Импорт файла QIF</title>

<para
>Чтобы импортировать файл QIF, убедитесь, что открыт корректный файл &kmymoney;. Затем выберите пункт меню <menuchoice
><guimenu
>Файл</guimenu
><guisubmenu
>Импорт</guisubmenu
> <guimenuitem
>QIF...</guimenuitem
> </menuchoice
>. </para>
	
<para>
	<screenshot>
	<mediaobject>
	<imageobject>
	<imagedata fileref="qifopen.png" format="PNG"/>
	</imageobject>
	</mediaobject>
	</screenshot>
</para>

<para
>В появившемся диалоговом окне будет предложено выбрать файл QIF: нажмите кнопку <guibutton
>Обзор</guibutton
>. </para>

<para
>Кроме того, в &kmymoney; существуют различия между импортом файла банковской выписки и данных журнала, экспортированных другой программой. По умолчанию выполняется импорт файла банковской выписки. Для импорта данных из использовавшейся ранее программы  ведения финансового учёта необходимо отметить соответствующий пункт. </para>

<para
>Обычно при импорте данных QIF используется стандартный профиль QIF. Но иногда возникает необходимость в использовании изменённого профиля QIF. Подробные сведения об этом доступны в <link linkend="details.impexp.qifimp.profile"
>следующем разделе</link
>. </para>

<para
>Нажмите кнопку <guibutton
>Импорт</guibutton
> для импорта файла QIF. </para>

<para
>&kmymoney; выполнит сканирование файла для определения форматов представления дат и чисел. Если формат даты не удалось определить однозначно, пользователю будет предложено выбрать один из возможных вариантов в списке. </para>

<para
>Затем &kmymoney; выполнит импорт данных и создаст все необходимые объекты, такие как записи данных контрагентов, счетов и статей, а также котировок акций. Существующие операции будут при возможности сопоставлены с импортированными данными. Во время процесса импорта отображается индикатор хода выполнения. </para>

<para
>Если &kmymoney; не удастся определить название счёта для импорта, пользователю будет предложено выбрать запись счёта, в которую следует импортировать данные. Если в файле ещё нет записи этого счёта, возможно создать новый счёт с помощью кнопки <guibutton
>Создать</guibutton
>. </para>

<para
>По завершении импорта в &kmymoney; будет показано окно статистических данных по импорту выписки. </para>

<para>
<screenshot>
	<screeninfo
>Статистика выписки</screeninfo>
	<mediaobject>
	<imageobject>
	<imagedata fileref="qif_report.png" format="PNG"/>
	</imageobject>
	<textobject>
	<phrase
>Статистика выписки</phrase>
	</textobject>
	</mediaobject>
</screenshot>
</para>

<para
>После импорта все импортированные операции будут обозначены жёлтым фоном в представлении книги учёта. Если &kmymoney; удалось установить соответствие импортируемой операции и уже существующей операции, цвет фона будет светло-зелёным. </para>

<para
>Следующий шаг состоит в проверке импортированных данных и их подтверждении. Это общий процесс, он выполняется и для данных, импортированных из других источников. Его подробное описание содержится в отдельном разделе этого документа. </para>

<note>
<para
>Цвета, используемые для обозначения импортированных и сопоставленных операций, возможно настроить. Они могут различаться в зависимости от используемой рабочей среды. </para>
</note>
</sect2>

<!--
<sect2>
<title
>Accepting the imported transactions</title>
<para>
  
	When &kmymoney; has finished importing the QIF transactions the account will be shown with the imported transactions listed in Yellow.
</para>

<para>
<screenshot>
	<screeninfo
>Imported transactions</screeninfo>
	<mediaobject>
	<imageobject>
	<imagedata fileref="qifimportverify.png" format="PNG"/>
	</imageobject>
	<textobject>
	<phrase
>Imported transactions</phrase>
	</textobject>
	</mediaobject>
</screenshot>
</para>

<para>
	Some of your transactions may be flashing red in the ledger.  
	This is because they need to be assigned a category.  
	The importer was not able to automatically assign a category based on your past transaction history.
</para>

<para
>	
	Transaction data can be edited or even deleted if needed.  To edit a transaction simply double click on the entry or hit enter when the entry is highlighted.  Once finished click on <guibutton
>OK</guibutton
> to accept the imported transactions or <guibutton
>Cancel</guibutton
> to remove the imported transactions.
</para>

</sect2>

<sect2
><title
>Importing Investments</title>

<para>
	Please note that if you are importing a file with investment transactions, those investments must first exist in your &kmymoney; file.
	The trading symbol is used to match, so please ensure that the symbol in &kmymoney; is exactly the same as the one in the file you're importing.
</para>
</sect2>
-->

<sect2 id="details.impexp.qifimp.profile">
<title
>Настройка профиля QIF</title>

<para
>Поскольку универсального стандартного формата для файла QIF не существует, разныепоставщики создали свои собственныеварианты. С помощью профиля QIF возможно сообщить &kmymoney; об особенностях импортируемого файла. Чтобы начать редактирование существующего профиля QIF или создать новый профиль, нажмите в диалоге импорта QIF кнопку <guibutton
>Создать</guibutton
>, расположенную рядом с инструментом выбора профилей. </para>

<para>
	<screenshot>
	<mediaobject>
	<imageobject>
	<imagedata fileref="qifimport-qifprofileeditor.png" format="PNG"/>
	</imageobject>
	<textobject>
	<phrase
>Редактор профиля QIF</phrase>
	</textobject>
	</mediaobject>
	</screenshot>
</para>

<note>
<para
>В предыдущих версиях &kmymoney; существовала вкладка для указания характеристик дат и сумм. В текущей версии &kmymoney; эти параметры определяются с помощью сканирования файла. Если установить значения всех параметров не удастся, во время импорта пользователю будет предложено указать нужные значения. </para>
</note>
<!--
<para>
	The most commonly changed thing between QIF implementations is the date format.  
	So if this is the first time you're importing a QIF file, spend a few moments to figure out what format the dates are in, and set the QIF Profile accordingly.  
	See the discussion below on apostrophe format for more details.
</para>

<para>
	<screenshot>
	<mediaobject>
	<imageobject>
	<imagedata fileref="qifimport-qifprofiledate.png" format="PNG"/>
	</imageobject>
	<textobject>
	<phrase
>QIF Profile Date</phrase>
	</textobject>
	</mediaobject>
	</screenshot>
</para>

</sect2>

<sect2
><title
>Apostrophe format</title>

<para>
	Many common QIF writers use a 2-digit representation for the year. 
	This is ambiguous, because the importer cannot know which century the date belongs in.
	To make things even more complicated, QIF files will often used an apostrophe as a year separator to indicate that the date belongs in the OTHER century from the default.
</para>
<para>
	For example, if the default century is 1900-1999, the date 12/31/95 would mean 1995.  The date 12/31'05 would mean 2005.
</para>
<para>
	Because the QIF format is not standardized, it's impossible to know which century is desired.
	This is why you have to explicitly state it in the QIF profile.
	You do this by specifying which century is intended when an apostrophe is found.
	In the example above, you would set the Apostrophe Format to &quot;2000-2099&quot;, so dates with an apostrophe will be interpreted as being &gt; year 2000.
	In this case, dates without an apostrophe will be treated as being in the 1900's.
</para>
-->
</sect2>

<sect2
><title
>Сопоставление операций</title>

<para
>Как было отмечено ранее, одним из основных недостатков формата QIF является отсутствие уникального идентификатора каждой операции. Если в книге учёта уже имеются некоторые из тех операций, которые содержатся в импортируемом файле QIF, могут появиться дубликаты записей. Чтобы решить эту проблему, &kmymoney; выполнит поиск операций, похожих на уже имеющиеся в книге учёта. При обнаружении такой операции будет установлено соответствие очевидному дубликату. </para>

<para
>Это поведение программы может привести к проблемам в том случае, если имеются операции с очень похожими параметрами, которые всё же являются различными операциями. В таком случае в представлении книги учёта будет возможно в дальнейшем отменить установление соответствия между такими записями операций. </para>
</sect2>

<sect2>
<title
>Написание фильтра импорта</title>

<para
>Иногда данные могут быть представлены в нетипичном формате, например в формате значений, разделённых запятыми (CSV), или каком-либо другом формате. Начиная с версии 4.6, программа &kmymoney; содержит модуль импорта файлов CSV. Тем не менее, данные в других форматах по-прежнему возможно импортировать в &kmymoney; с помощью фильтра импорта QIF. Фильтр представляет собой написанную пользователем программу, которая получит данные из импортируемого файла и затем создаст файл QIF. Это может быть сценарий оболочки, сценарий на языке Perl, собранная программа на языке C/C++ или любой другой инструмент обработки, который может быть запущен системой. </para>

<para
>Чтобы воспользоваться этим фильтром, откройте окно редактирования профиля QIF и перейдите на вкладку «Фильтр». Укажите в соответствующем поле расположение программы-фильтра. При последующем импорте QIF с помощью этого профиля тот файл, который выбран для импорта, будет сначала обработан указанной программой-фильтром. </para>

<para
>Часто возникают сложности с преобразованием списка разделённых запятыми значений в файл QIF. В этом случае следует воспользоваться программой <command
>awk</command
>. Создайте сценарий с названием <filename
>csv2qif.awk</filename
>, состоящий из следующих двух строк: </para>

<programlisting
>BEGIN { FS=&quot;,&quot;; print &quot;!Type:Bank&quot; }

        { print &quot;D&quot;$1; print &quot;T&quot;$2; print &quot;N&quot;$3; print &quot;P&quot;$4; print &quot;M&quot;$5; print &quot;^&quot; }
</programlisting>

<para
>Затем измените ключи QIF (D,T,N,P,M) таким образом, чтобы их порядок соответствовал порядку полей в данных CSV. Установите фильтр входных данных в значение <userinput
>awk -f csv2qif.awk</userinput
>. </para>

<para
>Сложности могут возникнуть также и с кодировкой файлов QIF. Программа &kmymoney; ожидает, что файл имеет кодировку UTF8. Если же у файла другая кодировка, следует сначала преобразовать его в файл в кодировке UTF8. Например, чтобы преобразовать файл из кодировки iso-8859-1, необходимо установить фильтр входных данных в значение <userinput
>recode iso-8859-1..utf-8</userinput
>. </para>

</sect2>
<sect2>
<title
>Особые расширения QIF &kmymoney;</title>

<para
>Как было сказано ранее, одним из основных недостатков формата QIF является отсутствие уникального идентификатора для каждой операции. Этот недостаток возможно устранить, если пользователь напишет свой собственный инструмент для создания файлов QIF (или фильтр, о котором говорилось выше). &kmymoney; поддерживает поле «#». Средство импорта будет интерпретировать значение этого поля как уникальный идентификатор операции и пропустит запись, если соответствующая операция уже зарегистрирована в системе. </para>
</sect2>
</sect1>

<sect1 id="details.impexp.qifexp">
<title
>Модуль экспорта файлов QIF</title>
<para
>Чтобы экспортировать какой-либо счёт в формате QIF, выберите пункт меню <menuchoice
><guimenu
>Файл</guimenu
><guisubmenu
>Экспорт</guisubmenu
> <guimenuitem
>QIF...</guimenuitem
></menuchoice
>. Появится диалог, в котором будет предложено указать счёт для экспорта, файл, в который следует экспортировать этот счёт, и профиль QIF, который следует использовать. </para>

<note
><para
>В текущей версии программы с помощью средства экспорта файлов QIF невозможно выполнить экспорт инвестиций. </para
></note>

<para>
	<screenshot>
	<mediaobject>
	<imageobject>
	<imagedata fileref="qifimport-export.png" format="PNG"/>
	</imageobject>
	<textobject>
	<phrase
>Экспорт QIF</phrase>
	</textobject>
	</mediaobject>
	</screenshot>
</para>
</sect1>

<sect1 id="details.impexp.ofx">
<sect1info>
  <author
>&Ace.Jones; &Ace.Jones.mail;</author>
  <author
>&Thomas.Baumgart; &Thomas.Baumgart.mail;</author>
</sect1info>
<title
>Модуль импорта файлов OFX</title>

<sect2>
<title
>Получение модуля</title>

<para
>&kmymoney; позволяет с лёгкостью импортировать файлы OFX. Но эта функциональность не является частью основной программы. Необходимо получить и установить модуль импорта файлов OFX. После его установки в меню <menuchoice
><guimenu
>Файл</guimenu
> <guisubmenu
>Импорт</guisubmenu
></menuchoice
> автоматически появится команда импорта файлов OFX. </para>

<para
>Обратите внимание, что многие версии &kmymoney; в пакетах уже собраны со встроенным средством импорта файлов OFX. Это средство также может храниться в отдельном пакете. Если установленная версия программы не содержит средства импорта файлов OFX, сначала попробуйте найти соответствующий пакет в том же хранилище, откуда был установлен основной пакет &kmymoney;. </para>

<para
>Если установка выполнялась из пакета RPM, модуль импорта файлов OFX содержится в пакете kmymoney-ofx. Этот пакет возможно найти в том же хранилище, из которого был получен основной пакет &kmymoney;. Если же сборка программы выполняется из исходного кода, следует предварительно установить в системе заголовки библиотеки и саму библиотеку libOFX 0.9. Сценарий сборки &kmymoney; обнаружит соответствующие файлы и соберёт модуль. На момент выпуска &kmymoney; 4.6 самой свежей версией libofx была 0.9.4 (она также является и минимальной требуемой версией). </para>

<para
>Если в системе установлена подходящая версия libOFX, но при сборке &kmymoney; возникли ошибки, воспользуйтесь списком рассылки &devlist; для связи с разработчиками. Вложите в сообщение копию файла<filename
>config.log</filename
>, предварительно сжав её с помощью <command
>gzip</command
>. </para>
</sect2>

<sect2>
<title
>Что такое OFX?</title>

<para
>OFX — сокращение от <quote
>Open Financial Exchange</quote
>. Согласно <ulink url="https://www.ofx.net/"
>веб-сайту OFX</ulink
> <quote
>Open Financial Exchange (OFX) — это общий стандарт электронного обмена финансовыми данными между финансовыми учреждениями, предприятиями и потребителями с помощью Интернета. OFX не является финансовым учреждением.</quote
> Стандарт определяет форматы передачи финансовых данных как в виде файлов, так и напрямую. </para>

<para
>Этот стандарт является гораздо более полным и гибким по сравнению с QIF, но в нём также имеется некоторая неопределённость; его работа зависит от конкретной реализации финансовым учреждением. Файлы OFX могут иметь разрешение <quote
>OFX</quote
> или <quote
>QFX</quote
> (в верхнем или нижнем регистре); это не оказывает влияния на содержимое. Спецификация основана на &XML;, поэтому файлы возможно прочитать с помощью любого текстового редактора. Так как использование пробелов не влияет на сами данные, в некоторых реализациях пробелы не используются вообще, что делает текст неудобочитаемым. </para>

<para
>Ещё один веб-сайт с информацией об этом формате: <ulink url="https:/ofxhome.com/"
>OFX Home</ulink
>. На этом сайте доступен список финансовых учреждений, которые поддерживают работу с OFX. Этот список может понадобиться в случае возникновения сложностей при настройке <link linkend="details.impexp.ofxdirectconnect"
>непосредственного обмена данными OFX.</link
> На сайте есть форум для обсуждения проблем, связанных с OFX. </para>
</sect2>

<sect2>
<title
>Импорт файла OFX</title>

<para
>Проще всего импортировать файл OFX с помощью соответствующего средства импорта (оно доступно в строке меню программы: <menuchoice
><guimenu
>Файл</guimenu
><guisubmenu
>Импорт</guisubmenu
> <guimenuitem
>OFX...</guimenuitem
></menuchoice
>). Если вложенное меню «Импорт» не содержит пункта «OFX», это означает, что модуль импорта файлов OFX не был установлен надлежащим образом. Смотрите предыдущий раздел. </para>

<para
>Сначала пользователю будет предложено выбрать запись счёта, в которую будут импортированы операции. Если в файле содержатся операции по разным счетам, этот выбор потребуется сделать соответствующее количество раз. </para>

<para
>После импорта некоторые операции будут обозначены в книге учёта  восклицательным знаком на фоне жёлтого треугольника. Причиной является неопределённость статей соответствующих записей. Средству импорта не удалось автоматически назначить статью на основе журнала операций пользователя. Чтобы удалить отметку, отредактируйте запись в книге учёта для назначения статьи. </para>

<para
>Обратите внимание, что в этом разделе приводится описание <quote
>внутреннего</quote
> средства импорта файлов OFX. Импорт файлов OFX также возможно выполнить с помощью модуля импорта AqBanking (если он установлен). Следует учитывать, что поведение этих двух модулей немного отличается, так как они написаны и поддерживаются разными разработчиками. </para>
</sect2>

<sect2>
<title
>Импорт инвестиций</title>

<para
>Обратите внимание, что при импорте файла, содержащего инвестиционные операции, эти записи уже должны иметься в файле &kmymoney;. Для сопоставления операций используется тикер, поэтому используемый в &kmymoney; символ должен быть точно таким же, что и символ в импортируемом файле. </para>
</sect2>

<sect2 id="details.impexp.webconnect">
<title
>Интернет-соединение (Web Connect)</title>

<para
>Проще всего импортировать файл OFX с помощью функции интернет-соединения (Web Connect). Перейдите на веб-сайт банка и нажмите ссылку для загрузки файла OFX. В браузере появится запрос на выбор программы, которую следует использовать для открытия файла: выберите &kmymoney;. После этого загруженный файл OFX будет импортирован в последний открытый в программе &kmymoney; файл. Также возможно изменить привязки файлов рабочей среды, чтобы файлы OFX автоматически открывались с помощью &kmymoney;. </para>

<para
>Если требуется импортировать файл OFX в какой-либо другой файл &kmymoney;, сначала загрузите этот файл в &kmymoney;, а затем посетите веб-сайт банка. </para>
</sect2>

<sect2 id="details.impexp.ofxdirectconnect">
<title
>Прямое подключение (Direct Connect)</title>

<para
>В текущей версии &kmymoney; поддерживается также непосредственное подключение OFX (Direct Connect). Это позволяет напрямую подключиться к банку для получения выписок. В дальнейшем будет создана более подробная версия справки, в которой для этой информации будет предусмотрен отдельный раздел. </para>

<para
>Чтобы включить эту возможность, следует собрать &kmymoney; с параметром настройки <userinput
><option
>--enable-ofxbanking</option
></userinput
> (в текущей версии этот параметр используется по умолчанию). </para>

<para
>Обратите внимание: многие банки требуют отдельной подписки, выдают отдельный пароль или PIN-код, а также могут взимать отдельную плату за соответствующую услугу. Ни один банк не предоставляет непосредственную поддержку работы с &kmymoney;. Будет необходимо сообщить сотрудникам банка о том, что непосредственное подключение планируется установить с помощью <application
>MS Money</application
> или <application
>Quicken</application
>. </para>

<para
>Первый шаг заключается в настройке каждого из счетов, для которых требуется загрузить выписки. Перейдите в представление «Счета», щёлкните правой кнопкой мыши по счёту, который следует настроить, и выберите в контекстном меню пункт <guimenuitem
>Привязать счёт...</guimenuitem
>. Если в системе установлено несколько модулей для работы с банками по сети, будет предложено выбрать нужный. Чтобы использовать встроенный модуль OFX, выберите <guimenuitem
>OFX &kmymoney;</guimenuitem
>. Список банков будет получен из Интернета. После этого с помощью мастера выберите банк, укажите имя пользователя и пароль, а также счёт. Если нужный банк отсутствует в списке, возможно указать его параметры вручную. Необходимые данные возможно получить у сотрудников банка (также возможно попробовать найти их самостоятельно). </para>

<note>
  <para
>Настройка прямого подключения OFX иногда вызывает сложности, особенно по той причине, что реализация протокола в большинстве учреждений не предусматривает подробных сообщений об ошибках. В частности, многие учреждения требуют смены пароля пользователя при первом доступе с помощью этого метода. К сожалению, в текущей версии библиотеки libofx, используемой в программе &kmymoney;, не поддерживается интерактивная смена пароля. В некоторых случаях смену пароля пользователя может выполнить технический сотрудник учреждения. В дальнейшем в этот раздел будут добавлены более подробные сведения об устранении неполадок. При возникновении сложностей рекомендуется обратиться за помощью в список рассылки разработчиков &kmymoney;: &devlist;. </para>
</note>

<para
>Как только счёт будет настроен для сетевой работы с банком, откройте его в представлении книги учёта. Затем выберите пункт меню <menuchoice
><guimenu
>Счёт</guimenu
><guimenuitem
>Обновить счёт...</guimenuitem
></menuchoice
>. После этого программа установит соединение с банком и выполнит загрузку выписки за последние 60 дней. </para>

<note>
  <para
>В версиях &kmymoney;, предшествующих 4.6, источником данных о названии контрагента всегда служило поле <literal
>PAYEEID</literal
>. Начиная с версии 4.6, в качестве источника данных о названии контрагента возможно использовать поле <literal
>PAYEEID</literal
>, <literal
>NAME</literal
> или <literal
>MEMO</literal
> операции OFX. Эту возможность и некоторые другие параметры прямого подключения OFX возможно настроить на соответствующей вкладке диалога <link linkend="details.accounts.edit"
>Редактирование счёта</link
>. </para>
</note>
</sect2>

<sect2>
<title
>Экспорт файла OFX</title>

<para
>В текущей версии программы не поддерживается экспорт данных в файл OFX. Чтобы помочь в создании такого средства экспорта, свяжитесь с командой разработки libofx. </para>
</sect2>
</sect1
>&details-impexp-csv; &details-impexp-csvexp; <sect1 id="details.impexp.plugins">
<title
>Написание модулей импорта</title>

<para
>В &kmymoney; поддержка модулей импорта реализована в явной форме. Разработчики приветствуют написание модулей импорта, предназначенных для работы с нестандартными форматами. Для этого необходимо собрать программу из исходного кода (при последующем написании своего модуля в качестве примера возможно использовать модуль импорта файлов OFX). </para>
</sect1>
</chapter>
