<?php // Полная загрузка сервисных книжек, создан 2025-01-05 12:44:55
global $wpdb2;
global $failure;
global $file_hist;
///// echo '<H2><b>Старт загрузки</b></H2><br>';
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
///// echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}
$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file
///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);
if ($results)
{ foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));
////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}
////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\
А для Бухгалтерии 2.0 нет такой?
(1) оказывается обработка работает на Бухгалтерия 2.0 тоже. просто не проверял на ней. сейчас проверил — все норм (там те же регистры есть).
пардон. операцию в БП 2.0 не создает. ща попробую исправить.
Спасибо
все поправлено. в 2.0 без ошибки формирует проводки.
Работает, только у меня на УСН — выскочило оповещение «Поле объекта не обнаружено «Налоговый» —
{Форма.ПроцентыПоЗаймам.Форма(55)}: Поле объекта не обнаружено (Налоговый)
Проводка = Док66_67.Движения.Налоговый.Добавить();
операция не формируется; и еще — программа считает только с привязкой к ставке ЦБ? А если сопоставимые займы?
(6)
1. для УСН не будет работать — там нет плана счетов НУ, а есть запись книги доходов и расходов, но туда попадать сумма должна только оплаченная (некоторые банки в начале следующего месяца снимают проценты за текущий), а это отследить сложно. (скорее всего не будет никогда реализовано, т.к. меня устраивает именно эта обработка, а за подгонку под конкретные условия мне никто не платит).
2. программа считает только с привязкой к ставке ЦБ умноженной на коэффициент. исходя из ставки кредита при сопоставимых кредитах не считает. может быть сделаю такую возможность, сейчас другим занят. (но опять же — никто за это не платит).
кстати, код открыт и можно переделать как нужно (что касается сопоставимых кредитов, то там только коэффициент нужно исправить с 1.1 на 1; для УСН — выкинуть создание проводки по НУ).
не знаю как и что там запускали, но для УСН нормально все работает, ничего не выскакивает (но все равно немного переделал) + добавил выбор начисления процентов в налоговом учете либо исходя из ставки рефинансирования, либо из ставки договора (сопоставимые кредиты).
Пока не проверила, как расчет делает, правильно или нет. Но зарание «+»
Почему нет счета 73.01 Расчеты по предоставленным займам, работники то же могут брать займы ❓
Хех, а я в свое время не стал утруждать себя и создал простой шаблон ручной операции.
Уже пару лет работает 🙂
(10) ответ очевиден — потому что не сделал этот счет. делал для себя и выложил для тех, кому может пригодится. причина — пост №7 концовка ответа на первый вопрос. (если делать счет 73, то очевидно надо прикручивать контроль НДФЛ — 2/3 ставки рефинансирования).
(11) замечательно, если еще учесть, что шаблон может контролировать особенности начисления и выводить печатную форму. непонятно только зачем это написал или тогда шаблон в студию.
Очень интересная и поезная вещь….
только одно пожелание:
в договорах проценты могут рассчитываться исходя из:
1. фактического количества дней в году (365 или 366)
2. исходя из фиксированного количества дней (365, 366 или 360 — по условиям договора)
Можно ли сделать доработку на количество дней в расчетном году? ❓ ❓ ❓ ❓
Хм, извините, не получилось воспользоваться разкурашкой 🙂
Вот алгоритм:
СчетКредитов = ПланыСчетов.Хозрасчетный.НайтиПоКоду(«66.01»);
ДнейВГоду = ДеньГода(КонецГода(Дата));
// Расчет суммы процентов для целей БУ
Фильтр = Новый Структура;
Фильтр.Вставить(«Счет», СчетКредитов);
Фильтр.Вставить(«Субконто1», Контрагент);
Фильтр.Вставить(«Субконто2», Договор);
тзОстатки = РегистрыБухгалтерии.Хозрасчетный.Остатки(Дата,, Фильтр);
тзОстатки.Свернуть(«», «СуммаОстатокКт»); // нужно получать общую сумму по договору, а не по конкретному траншу
Если тзОстатки.Количество() > 0 Тогда
//Сообщить(«Количество строк «+тзОстатки.Количество()); // <ОТЛАДКА>
//тзОстатки.ВыбратьСтроку(); // <ОТЛАДКА>
СуммаКредита = тзОстатки[0].СуммаОстатокКт;
//Сообщить(«Сумма кредита «+СуммаКредита); // <ОТЛАДКА>
Иначе
СуммаКредита = 0;
Сообщить(«На счете 66.02 нулевое сальдо по указанным субконто»);
КонецЕсли;
СуммаБУ = СуммаКредита * Процент/100 * КоличествоДней/ДнейВГоду;
//Сообщить(СуммаБУ); // <ОТЛАДКА>
// Расчет процентов, принимаемых для целей НУ
СтавкаРеф = РегистрыСведений.СтавкаРефинансированияЦБ.ПолучитьПоследнее(КонецМесяца(Дата)).Размер; // значение ставки рефинансирования нужно брать на конец месяца, даже если она менялась несколько раз за месяц
ПроцентНУ = Мин(Процент, СтавкаРеф * ?(КредитПолученПосле20091101, 1.1, 2)); // по кредитам, полученным после 01.11.2009 предельная величина процента — ставка реф.*1.1
СуммаНУ = СуммаКредита * ПроцентНУ/100 * КоличествоДней/ДнейВГоду;
СуммаПР = СуммаБУ — СуммаНУ; // По правилу БУ = НУ + ПР + ВР
Еще хотелось чтобы учитывалась контролируемая задолженность по займам
Итересует такая же обработка для версии 2.0
бухи в счастье!
ручные проводки по времени и точности всё равно получаются быстрее, надо это обработку включать в конфигуратор
классно, только описание нужно подправить, насчет увеличения ставки на 1,1, считает правильно с коэффициентом 1.8
для версии 2.0 есть такая?
(23) вы бы заголовок прочитали …….. на 2.0 все работает
Добрый день, подскажите пожалуйста при формировании операции не ставится сумма операции (приходиться заходить в операцию и как бы проставлять сумму руками, чтобы сумма прошла по НУ Дт и только потом появляется сумма операции), как это исправить 🙂
(25) это у вас какой-то глюк. к сожалению, не видя вашей программы, помочь не могу. (как вариант — может используете обработку для другой версии?)
Обработка работает нормально. Вот если бы еще можно было автоматизировать выбор контрагентов, у которых по кредитным счетам есть суммы. А то, когда много контрагентов и договоров у одних и тех же контрагентов (в т.ч. действующих и не действующих), приходится много времени затрачивать на сверку, кому начислены проценты, а кому нет.
В 8.2 не совсем корректные проводки в НУ. Сумма процентов, не принимаемая для целей налогообложения, не относится на постоянные разницы и не попадает на счет НУ — НЕ.03.Можно как-нибудь исправить?
У нас все отлично работает. Большое спасибо автору, очень полезная вещь. Считает идеально. С формой представления результатов можно поспорить, но расчет идеальный
(27) эта разработка была создана когда было много свободного времени. сейчас дорабатывать под конкретные запросы нет времени.
(28) поддержка ПБУ 18/02 там не предусмотрена. исправить можно, но времени на это нет.
Все работает. Бухгалтер до этого скачала какую-то платную обработку — она работает почти также) правда цифры чуть-чуть разные получились.. но с вашим вариантом она больше согласна.. а насчет большого количества контрагентов — правда, не совсем удобно. Но все равно плюс.. при отсутствии времени на разработку, обработка очень выручила. Спасибо. Вам «плюс»
Очень удобно спасибо, только подсветку «таблица на… не нужна» уберите, иначе бухов пугает
Замечательная обработка! Раньше все считала вручную в Exell, ну а теперь экономлю кучу времени! Еще радует возможность автоматического формирования проводок!! Автору спасибо!
Благодарю!Спасибо автору!
В принципе неплохо. Шеф одобрила, правда пришлось переделать, чтобы был выбор периода, а не один месяц.
За создание обработки спасибо!
Автору спасибо за труды.
В договорах проценты могут рассчитываться исходя из:
1. фактического количества дней в году (365 или 366)
2. исходя из фиксированного количества дней (365, 366 или 360 — по условиям договора)
Нужная вещь, спасибо
Мой бухгалтер купила подобную обработку в интернете. Там конечно все более красиво, но результат тот же
для УСН не будет работать — там нет плана счетов НУ, а есть запись книги доходов и расходов, но туда попадать сумма должна только оплаченная (некоторые банки в начале следующего месяца снимают проценты за текущий), а это отследить сложно. (скорее всего не будет никогда реализовано, т.к. меня устраивает именно эта обработка, а за подгонку под конкретные условия мне никто не платит).
программа считает только с привязкой к ставке ЦБ умноженной на коэффициент. исходя из ставки кредита при сопоставимых кредитах не считает. может быть сделаю такую возможность, сейчас другим занят. (но опять же — никто за это не платит).
Здравствуйте. Разъясните пож, для усн будет работать? Спасибо.
Извините, не заметила ответа на мой вопрос №41
(41) Гость,
Буду ждать)) Спасибо заранее
Спасибо большое. Несколько моментов — коэффициент ставит 1, а он меняется, было бы отлично. если бы его можно было редактировать в форме, в столбец ставка рефинансирования проставляет ставку по кредиту, хочется распечатать красиво 🙂
(45) ставка по кредиту не меньше ставки рефинансирования? справочник «Ставка рефинансирования ЦБ» заполнен? дата какая стоит?
(коэффициент ставит 1,8 если дата = 01.01.2010-31.12.2012 и если это рубли). хотя гадать почему у вас не работает можно долго — у себя и у остальных такой проблемы не замечал!
(46) Спасибо, извините. все работает, я не правильно заполняла, ставила галку по сопоставимым
За обработку ОГРОМНОЕ СПАСИБО!
Все хорошо! только не учитывает ,что 2012 год високосный
В договорах проценты могут рассчитываться исходя из: фактического количества дней в году (365 или 366)
(48) странно. уверены что дата в обработке нужная указана? т.к. обработка рассчитывает проценты как раз исходя из фактического количества дней в конкретном году (дата года указана в поле «месяц начисления») и для 2012 года — это 366.
Тогда прошу прощения. Просто немного идет разница в коппейки
(50)
на счет копеек написано в описании: «если сложить сумму процентов за каждый день в печатной форме, то итого может не получиться (рвать на несколько копеек) — это связано с тем, что сумма процентов за день округляется до двух знаков после запятой, а итого суммирует без округления (это хорошо видно в таблице формы).»
Спасибо за обработку. На сайте несколько подобных платных обработок, но ваша ничем не хуже. Тем более ценнее Ваш бескорыстный труд ))).
(49) можете объяснить, где в обработке посмотреть распределение процентов начисленных, на принимаемые и не принимаемые к НУ?
(53) в таблице: есть колонка «Сумма по договору» — это сумма по бухучету, колонка «Сумма по НУ» — сумма, принимаемая к налоговому учету. разница между этими колонками и будет процентами, не принимаемыми к налоговому учету.
спасибо за нужную обработку
По валютным договорам для 1с 8,2 ред 2,0 — случайно нет такой обработки(аналога)?
(56) для валюты, к сожалению, нет (не было надобности).
Спасибо за обработку. А можно немного доработать:
1. Чтобы документ не проводился сразу, а просто открывался новый
2. Расчет делать не за месяц целиком, а за указанный период, а то у нас куча займов, по которым проценты считаются с середины одного месяца до середины другого.
(58) Solo, к сожалению, а может и к счастью, пост (30) актуален до сих пор (первая его часть)
Отличная обработка, пользуюсь давно, спасибо! Только как исправить коэффициент на 1,8, т.к. он действует до 31.12.2013 (ст. 269.1.1 НК РФ в ред. Федерального закона от 29.11.2012 N 206-ФЗ? Вручную исправлять целый год как-то не хочется.
(60) исправить его можно в коде обработки. только зачем его пока менять? ведь 1,8 действует до конца этого года (а может еще и потом продлят его действие).
Так в том-то и дело, что действует 1,8, а заполняется с января 1,1.
(62) обновил файл (только для 8.2). можно заново скачать.
Спасибо!
спасибо за обновление, если бы была возможность, поставила бы еще один «+» ))
Обработка отличная! Спасибо! А для Бухгалтерии 3.0 не делали случаем?
(66) пока еще не делал, т.к. еще не перешел на 3.0
спасибо, пригодилась обработка, иногда так трудно заставить себя помочь бухгалтеру, просто руки не доходят до мелочей как намкажется, а для бухгалтера счастье и лишний час попить чаю.
Тема очень актуальная. Однозначно плюс автору. Хотелось бы уточнить, предусмотрено ли списание денежных расходов по займам в составе косвенных расходов?
И еще вопрос: если работаем с применением ПБУ 18: Формируются ли различные суммы по бухгалтерскому и налоговому учету и налоговые разницы с возможностью их схлопывания в конце квартала?
(69) a4a, если имеете в виду «косвенные расходы» в составе расходов на производство и реализацию (счета 20, 26 44 и т.п.), то нет — предусмотрен только счет 91 и аналитика по нему.
(70) a4a, смотри пост (30)
(72) Увидела. Спасибо. Вернее, жаль
Спасибо
(67)riop,
Добрый день.
В первую очередь, Спасибо, Riop!
ПОРА ПЕРЕХОДИМТЬ НА Бух3.0, уже всё, пора…
Сделайте пожалуйста.
Надеюсь, Верю, Жду…
Добрый день. Обработка отличная, но есть минусы.
1.у меня отчет почему-то не заполняется на произвольную дату, обязательно только на конец месяца.
2. когда расчет за весь месяц полностью в обработке итого всегда пишет суммы 999999,99…в печатной форме правильно.
3. при создании операций, не заполняет НУ по кредиту, а так же сумму операции (в проводка есть), то есть надо заходить в документ и ставить сумму руками, тогда появляется. Если расчет в НУ по ставке 1.8, то постоянные разницы в операциях не считает и не ставит.
4. ну и в идеале я бы добавила заполнение всех субконто по 91 счету))) а не только статей затрат.
А вообще очень облегчает работу! Спасибо!
добрый день
очень жду обновления обработки на 3.0 + изменения этого года по принимаемым-непринимаемым процентам
Здравствуйте! В 2014 году опять ставит коэффициент 1,1. Исправьте, пожалуйста. Я жить не могу без этой обработки )))
Ждем для 3.0!
(78) поправил (только 2.0 для 8.2). закачайте снова.
(75)(77)(79) пробовал переходить на 3.0 — кривая еще она очень. думаю этот год еще на 2.0 буду сидеть — следовательно для 3.0 пока не буду ее делать, т.к. они еще в общий модуле часто изменения вносят, а не имея рабочей базы на 3.0, трудно отслеживать и исправлять появляющиеся косяки после очередного обновления конфигурации.
(78)поправил (только 2.0 для 8.2). закачайте снова.
(82) Спасибо!
Спасибо! Взял для переделки под УПП и КЗР вместо Операции.
Спасибо Вам большое! Уже продолжительное время пользуюсь обработкой. Очень удобно и быстро (по моим ощущениям другие (наверно, не все), труднее в использовании )))
Здравствуйте!
Перешла на 3.0 в этом году. Устраивает все, только очень скучаю по Вашей обработке, уж очень она хороша.
Вы еще на 2.0?
Спасибо! Добавил в избранное в надежде на 3.0! 🙂
Обработка отличная! С нетерпением ждем версию для Бухгалтерии 3.0.
Для БП 3.0 (интерфейс такси) хорошая обработка. Только в документе операция, не заполняется «сумма операции», в проводках сумма встаёт. И ещё было бы не плохо если бы при повторном нажатии на кнопку «создать операцию» не создавался новый документ, а сообщалось пользователю что данная операция уже оформлена, ну или проверял, если есть уже документ с такой операцией и периоду, то просто перезаполнял её.
(93) foxsis, сумма операции — поправлено.
остальные пожелания — когда будет свободное время.
Не могу воспользоваться обработкой для БП 3.0.
Система выдает сообщение: «поле объекта не обнаружено (СтавкаРефинансированияЦБ)»
Помогите пожалуйста.
Разобралась, не актуально.
Но теперь не могу создать операцию.
Система выдает: «Поле объекта не обнаружено (Сумма операции)»
(95) kristi138, номер конфигурации какой?
в 3.0.44 не работает, поправьте пожалуйста обработку
Я дико извиняюсь, но версия для БП 3 подойдет для БП 3 КОРП?
(98) БП 3 КОРП не пользуюсь. 100% гарантии дать не могу, но думаю что подойдет.
Выдает сообщение: «Поле объекта не обнаружено (СтавкаРефинансированияЦБ)»
3.0.44.201
(100) обновил.
Добрый день, как у вас происходит переоценка валюты, когда не всясумма процентов принимается к НУ на прибыль.
например, когда процент 9%, а принимается только 8.156
Согласовано закону
С 01.01.2015 согласно ныне действующей редакции п. 1 ст. 269 НК РФ, расходом в целях налогообложения прибыли признаются проценты, исчисленные исходя из фактической ставки, кроме случаев:
— если сделку следует признать в порядке, предусмотренном главой 14.4 НК РФ, контролируемой;
— если задолженность следует признать в порядке, предусмотренном п. 2 ст. 269 НК РФ, контролируемой.
(102) никак. эти особенности не реализованы.
Не формирует операцию. Релиз 3.0.46.16