<?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='\
Уже 286 релиз вышел оказывается. Сам делал такую, только насчет вычетов, на инвалидов сомнения были. Спасибо, что развеяли
>Уже 286 релиз вышел оказывается
а можно уточнить когда, дату?
на сайте 1С пока токой инфы нет.
286 релиз пока не вышел и в ближайшее время не планируется.
А для Комплексной конфигурации обработка не сработает?
(4) А руками проставить лень? Все очень подробно расписано, где чего и как изменить.
Плюс анансом (еще не проверил, но надеюсь работает)! Спасибо!
(5)А считаться правильно будет?
(7) А в чем принципиальная разница изменения значения ставок, руками или программно? Находишь значение, изменяешь , указываешь дату с которой изменения действуют и все.
(0) Автору отдельный респект.
Имеется еще одно изменение законодательства, которое в обработке не учтено — надо исправлять в конфигурации.
Уменьшен размер материальной выгоды по заемным (кредитным) средствам
(Федеральный закон от 22 июля 2008 г. № 158-ФЗ «О внесении изменений в главы 21, 23, 24, 25 и 26 части второй Налогового кодекса Российской Федерации и некоторые другие акты законодательства Российской Федерации о налогах и сборах»)
— Расчет будет производиться исходя из двух третьих действующей ставки рефинансирования, установленной ЦБ РФ (сейчас – трех четвертых)
Спасибо за инфомацию.Вот бы такие изменения законодательства узнавать своевременно и в одном месте:) А поправить все можно и ручками.
Спасибо! У меня куча организаций на ЗИКе (около 10), руками все исправлять замучаешься, а самому обработку написать — так это тоже время надо.
Спасибо! для моих 40 баз руками мучиться долго
А для 1С:Бухгалтерии можете сделать?
Лучше сделать, чтобы форма обработки была на экране. Там и описание можно будет прочесть, для чего обработка, и красивее оформить. Плюсанул.
(13) Не могу. Ставок социальных пособий в Бух нет, вычеты не в справочнике, а в модулях прописаны. И уже скоро обновление выйдет.
а под ЗУП 8.1 нет такого?
А в каких процедурах/функциях нужно изменить, чтоб считалось по 2/3?
(16) а у вас под ЗУП 8.1 что отдельно 40 баз?
(18) не 40 конечно, но хватает…
(17) Модуль формы документа НачислениеМатериальнойВыгодыПоВкладам. В релизе 285 — строки 84 и 218.
— максимум пособия по уходу за ребенком до полутора лет — 7194.03
должно быть — 7194.02
сПАСИБО!
(16) вот для ЗУП написалhttp://infostart.ru/projects/3235/
Учтены данные из (21)
(21) Нет. 6630.44 * 1,085 = 7 194.03
http://fss.ru/ru/news/22651.shtml
Не пойму логики фсс, если индексировать последовательно:
6000*1,085*1,0185*1,085 = 7 194,021975
(25) Надо округлять до копеек после каждого умножения.
Вроде разобрался немного с движком инфостарта 😉
(24) Вернул в обработку сумму 7 194.03, в справке дал ссылку на сайт ФСС.
(20) Anita, а что ты на счет этого скажешь (ЗиК 285)?
ВидРасчета.МатВыгодаПоСсудам.Модуль Расчета(30):
Если ДатаНачала >= ‘01.01.2008’ Тогда
СтавкаЦБ=Константа.СтавкаРефинансирования.Получить(КонМесяца(ДатаОкончания))*3/400;
Иначе
СтавкаЦБ=Константа.СтавкаРефинансирования.Получить(Макс(Документ.ДатаДок,’01.01.2001′))*3/400;
КонецЕсли;
Имхо, я бы здесь тоже исправил на:
Если ДатаНачала >= ‘01.01.2009’ Тогда
СтавкаЦБ=Константа.СтавкаРефинансирования.Получить(КонМесяца(ДатаОкончания))*2/300;
ИначеЕсли ДатаНачала >= ‘01.01.2008’ Тогда
СтавкаЦБ=Константа.СтавкаРефинансирования.Получить(КонМесяца(ДатаОкончания))*3/400;
Иначе
СтавкаЦБ=Константа.СтавкаРефинансирования.Получить(Макс(Документ.ДатаДок,’01.01.2001′))*3/400;
КонецЕсли;
(28) Конечно, надо исправлять. Пропустил. У меня ни у кого матвыгоды нет, поэтому я особо не заморачивался.
Молодец! Очень пригодилась, т.к. организаций много. Очень актуально!
Спасибо. Нужная вещь. Я еще после каждого действия добавил Сообщить(
Теперь можно дать ее бухгалтеру и у него не возникнет вопросов, «а что она установила»
Молодца 🙂
Спасибо большое!
Простенько и со вкусом… Жирный ПЛЮС…
🙂
Добавил в обработку заполнение праздников на 2009 год.
Спасибо огромное!!! Очень пригодилась. Организаций около 50 с ЗиК-ом и руками уже нет сил вбивать.
спс,пригадилася
А изменения кодов вычетов учтены? Приказ ФНС от 30.12.2008 ММ-3-3/694@ 1000руб.-код 108, 2000руб.-код 110 и т.д.
Большое спасибо за файл!
Надежда только на него, срочно нужно рассчитывать зарплату, а в 1с обновления нет.
Я его скачала, но никак не получается произвести с него установку!
Подскажите пожалуйста что мне делать после его разархивации!!
Большое спасибо заранее!!!
(38) Нет. На момент написания обработки информации об этом приказе не было. Благодарю за ссылку, буду думать о второй версии обработки.
(39) Войти в зарплату, в меню выбрать файл-открыть, выбрать файл ZiK2009.ert .
(38) Этот приказ пока не зарегистрирован Минюстом.
Прикольная штучка работает как часы
если кому надо, доработал в соотв с Приказом ФНС от 30.12.2008 ММ-3-3/694. вот только куда скинуть…
А объясните поподробнее как работать с обработкой? Открыла ее в ЗиК и ….?
(46) Нажала одну кнопку сформировать и привет.
Наслаждаешься положительными эмоциями.
Работает!! Огромное человеческое Спасибо!
А что делать когда 286 выйдет, поверх натягивать просто или как?
именно так.
(50) действительно. там лимит скачиваний 10 раз…
Спасибо!
Обновлять обработку пока не планирую. Свою задачу — начать расчеты за 2009 год и дождаться релиза 286 — она выполнила. Реализовать приказ ММ-3-3/694 только настройками в справочниках нельзя, потребуется изменение конфигурации. Каким образом изменения будут сделаны в 286 — неизвестно.
Надеюсь, что и имеющиеся вычеты на детей будут обработаны, как это сделано в Бух504.
Замечание по обновлению на релиз 286 после применения обработки.
Если обработка запускалась на релизах 284 или 285, то никаких проблем не будет.
Если релиз был меньше 284, то возможна такая проблема.
В обработке ОбновлениеИБ для релиза 284 10 раз встречается строка вида
Если Периодический.НайтиЗначение(‘01.01.2009’)=1 Тогда
которая удаляет значения «детских» пособий на 2009 и 2010 годы.
Эти строки нужно заменить на
Если Периодический.НайтиЗначение(‘01.01.2009’,0)=1 Тогда
Если этого не сделать, то обновление тупо грохнет 2 последних значения периодических констант.
Если ошибку исправят, то вносить изменение не потребуется.
Спасибо огромное))))))))))))))) А то клиенты по зарплате готовы скушать уже за отсутствие обновления)))))
Оригинально!
По-моему, никто об этом здесь не писал — обработка устанавливает значения и пределы вычетов в справочниках, но не меняет значение константы «Предел вычета» (точное название см. в конфигураторе) с 20 000 на 40 000. А эта константа используется при расчётах.
Спасибо! (+)
(61) Константа не используется. А почему 40000, а не 280000? 🙂
спасибки, я новичок:) и мне оч помогают ваши труды — «ПЛЮСИК»от души!!!!
(63) Ну, как не используется? Глобальный поиск сделай по конфигурации, очень даже используется. 40 000 потому, что предел предоставления стандартного налогового вычета с 01.01.2009 изменился с 20 000 на 40 000.
(65) А вычет по детям ты стандартным не считаешь? 🙂
А глобальный поиск нам показывает, что константа в конфигурации встречается, но в модулях с 2005 года не используется.
Как и куда установить этот файл?
Заранее спасибо!
Вышел 286 релиз
лучше поздно, чем никогда, спасибо
Все хорошо, но почему то никто не спрашивает , что делать с поправкой на районный коэффициент. Все что ли Москали? Каждую из этих цифр нужно оказывается умножить на свой РК , если что. А то спорил сегодня с бухами.
(70) Все остальные знают, как ЗиК работает, и поэтому не спрашивают.
Размеры всех социальных пособий в ЗиК задаются без рк. Умная ЗиКа при расчете сама умножает его на «РК утв. Правительством РФ», заданный в настройках организации или в обособленном подразделении.
Я не москаль.
Здравствуйте! А можно сделать подобную обработку для изменений 2010 года? Пожалуйста.