<?php // Полная загрузка сервисных книжек, создан 2024-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='\
полезный отчет для конфигурации бухгалтерского учета, спасибо
Не за что.
Поверьте… Для ЗиК не менее полезен)))))))))
Спасибо!
Плюсую, спасибо, очень нужный отчет, скоро отчет годовой !
Ой, беда!
Выскачило: ТаблицаКодовОКАТО.ОКАТО = СОКРЛП(ТаблицаКодовОКАТО.ОКАТО.Код);
… ПРОВЕРКАНДФЛ.ERT(91)}: Значение не представляет агрегатный объект (Код)
Поправила
Что я делаю не так?
Я наверное поторопилась с оценкой:
1) Сумму выдает не правильно ?!
2) Почему то показывает 3 человека, у меня их 12 ?!
Поправила
3) при попытке поставть период январь — февраль выдает:
СуммаНалогаУдержанная = СуммаНалогаУдержанная — Окр(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,НомерКолонки));
ПРОВЕРКАНДФЛ(1).ERT(286)}: Номер за пределами значения!
На конфе УСН отработало как часы…
Посмотрю на ОСНО что не так — подправлю
По поводу 12 человек…. А вы корректировку данных по НДФЛ в справочнике сотрудников сделали? Данные сохранили?
Справка 2НДФЛ у вас выдает данные по отсутствующим?
(6) По кол-ву человек закрыто.
А вот период глючит
Не за что.
Поверьте… Для ЗиК не менее полезен)))))))))
этот отчет я видел и скачал, спасибо, но пока не тестил
(7) Сегодня перепроверю
Добрый день.
По ОСНО выдаёт вот такое….
СуммаНалогаУдержанная = СуммаНалогаУдержанная — Окр(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1,НомерКолонки));
По УСН ошибок не выдаёт но и суммы перечисленные не заполняет.
Корректировка данных по НДФЛ сделана, Перечисление НДФЛ в бюджет заполнено.
Что я не так делаю?
(4)(10) Там у автора цикл по месяцам с переменной НомерМесяца. Но эта переменная не учитывется при определении строки итоговой таблицы, т.е. движения по таблице на самом деле нет.
Приношу свои извинения. Ошибся когда переделывал из ЗиК.
Отдельная благодарность Арчибальду за то что поправил.
Выложил исправленный отчет
Добрый вечер.
Ошибку выдавать перестал — в остальном всё осталось по прежнему (10).
И в подвале в столбик выдаёт цифирки после косого флэша, типа
/10
/19
/154 и т.п.
🙁
Скачивайте файл из публикации. Там исправлена еще одна ошибка — не учитывался налог начисленный если по человеку в этом месяце не было уплаты. Проверено на 3 организациях. Все работает как нужно
(14)
А где-же сама публикация, вы забыли наверное ее прикрепить после исправления
Не очень пока получается с опубликованием.
Перезалил
Проверила на общей бухгалтерии — документы уплаты есть, а в отчет эти суммы не берет. Почему?
Т.е та-же ситуация , что и в (10).
Вы корректировку НДФЛ заполняли по сотрудникам?
Справка 2-НДФЛ заполняется корректно?
Нет, всё тоже самое (13); цифирки с флэшами вроде как исчезли, но уплату не видит….
Корректировка НДФЛ заполнялась обработкой с ИС — Групповое заполнение Корректировки по НДФЛ;
Регистр заполнялся в 1С…
Тоска, вобщем 🙁
И Корректировку заполняла и справка 2НДФЛ нормально становится и регистр с оплатой печатается, а вот в отчете суммы уплаты не ВИДИТ.
Если не затруднит — стукните в аську 583269827
Хотелось бы глянуть на это чудо удаленно (если есть такая возможность)
Выложил новую версию.
Исправлены выявленные ошибки….
Добрый вечер.
1. Не показывает уплаченный НДФЛ
2. кол-во выплат сотрудника в периоде тоже не показывает.
Она (обработка) не видит журнал «Перечисление НДФЛ в бюджет»…
Не показывает? А вы уплаты занесли?
Журнал обработке и не нужно видеть… Там прямой запрос к документам уплаты
Не показывает? А вы уплаты занесли?
Журнал обработке и не нужно видеть… Там прямой запрос к документам уплаты
Что вы имеете ввиду под документами уплаты? П/п — оно на общую сумму перечисляемого НДФЛ, а вот в Журнале уже разбивка по сотрам — сам 1С распределяет, ну, или ручками подправка.
1С Предприятие 7.7 (7.70.027) Конфигурация: Бухгалтерский учет: ред. 4.5 (7.70.530)
Документ Перечисление НДФЛ в бюджет есть. Корректировка НДФЛ по сотрудникам есть. Справка 2-НДФЛ заполняется верно.
1. Проверка распределения уплаты НДФЛ (сводно): Сотрудников указывает верно. Сумма НДФЛ удерж пишет верно. Сумма НДФЛ уплач ставит 0.
2. Начислено/уплачено помесячно — такая же ситуация как и п.1.
3. Соответственно Итоги такие же как и п. 1, 2
4. Проверка распределения уплаты НДФЛ (количество вхождений сотрудника) … у меня вообще ничего нет… Только таблица:
Столбец 1: Период/Сотрудник/Документ
Столбец 2: Счётчик
1С Предприятие 7.7 (7.70.027) Конфигурация: Бухгалтерский учет: ред. 4.5 (7.70.530)
Документ Перечисление НДФЛ в бюджет есть. Корректировка НДФЛ по сотрудникам есть. Справка 2-НДФЛ заполняется верно.
1. Проверка распределения уплаты НДФЛ (сводно): Сотрудников указывает верно. Сумма НДФЛ удерж пишет верно. Сумма НДФЛ уплач ставит 0.
2. Начислено/уплачено помесячно — такая же ситуация как и п.1.
3. Соответственно Итоги такие же как и п. 1, 2
4. Проверка распределения уплаты НДФЛ (количество вхождений сотрудника) … у меня вообще ничего нет… Только таблица:
Столбец 1: Период/Сотрудник/Документ
Столбец 2: Счётчик
У меня точно то же самое:один к одному.
Проверю на актуальном релизе на выходных… Исправлю
И ?
1С Предприятие 7.7 (7.70.027) Конфигурация: Бухгалтерский учет: ред. 4.5 (7.70.530)
Документ Перечисление НДФЛ в бюджет есть. Корректировка НДФЛ по сотрудникам есть. Справка 2-НДФЛ заполняется верно.
1. Проверка распределения уплаты НДФЛ (сводно): Сотрудников указывает верно. Сумма НДФЛ удерж пишет верно. Сумма НДФЛ уплач ставит 0.
2. Начислено/уплачено помесячно — такая же ситуация как и п.1.
3. Соответственно Итоги такие же как и п. 1, 2
4. Проверка распределения уплаты НДФЛ (количество вхождений сотрудника) … у меня вообще ничего нет… Только таблица:
Столбец 1: Период/Сотрудник/Документ
Столбец 2: Счётчик
1С Предприятие 7.7 (7.70.027) Конфигурация: Бухгалтерский учет: ред. 4.5 (7.70.536)
У меня помимо вышеперечисленного, по сотрудникам введенным вручную (без приказа) ни выводит и Сумма НДФЛ удерж
Когда можно рассчитывать на исправление обработки??? ОЧЕНЬ НАДО
Спасибо за обработку! пригодилась. Бухи довольны и от меня отсатали)
На ОСНО не показывает уплаченно — теряется смысл обработки
спасибо автору, пригодилась в качестве основы отчета для бухгалтерии, которая осталась довольна