Пример создания сплит-транзакции в Perl Finance::QIF
Мне нужно импортировать мои экспортированные банком транзакции (CSV) в GNUcash. Я почти закончил со скриптом на Perl, используя Finance::QIF
Я анализирую CSV и записываю это так:
my $record = {
header => "Type:Bank",
date => $outdatum,
memo => $outtext,
transaction => $outbetrag,
};
$out->header( $record->{header} );
$out->write($record);
....
Но моя проблема заключается в создании раскола. http://finance-qif.sourceforge.net/ сказано: "Если транзакция содержит разбиения, это будет определено и будет состоять из массива ссылок на хеш. Каждое разбиение может иметь следующие значения". - так я попробовал это:
my $record = {
header => "Type:Bank",
date => $outdatum,
memo => $outtext,
transaction => $outbetrag,
@splits = (
{
category => "Gesundheit:Arzt:Kind1",
memo => "L",
amount => "-161,66"
},
{
category => "Gesundheit:Arzt:Kind2",
memo => "F",
amount => "-162,66"
}
)
};
Это приводит к ошибке:
Unsupported field 'HASH(0x221c9e8)' found in record ignored in file '>_TESTqif.qif' line 22 at convert_bank_CSV.pl line 195.
К сожалению, я нигде не нашел пример создания разделения, просто для обычной транзакции.
Может кто-нибудь помочь, как использовать Finance::QIF для создания сплит-транзакций?
1 ответ
Я ничего не знаю о Finance::QIF
но твой @splits
код не имеет смысла.
Попробуйте это вместо этого:
my $record = {
header => "Type:Bank",
date => $outdatum,
memo => $outtext,
transaction => $outbetrag,
splits => [
{
category => "Gesundheit:Arzt:Kind1",
memo => "L",
amount => "-161,66",
},
{
category => "Gesundheit:Arzt:Kind2",
memo => "F",
amount => "-162,66",
}
],
};
Увидеть perldoc perlreftut
для получения дополнительной информации о ссылках и структурах данных в Perl.