<?php // Полная загрузка сервисных книжек, создан 2026-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.5.33.4 о получил отличия в отчете по сранению с штатным отчетом.
Ты проверял на 2.5.33.4?
на ЗУП 2.5.37.1 1С:Предприятие 8.2 (8.2.14.524) ошибка
Ошибка при выполнении файловой операции ‘E:AnalizNachislennyhNalogovIVznosov_Artur_82.erf’
по причине:
Неверный формат хранилища данных ‘file://E:/AnalizNachislennyhNalogovIVznosov_Artur_82.erf’
Как подключать все налоги не показывает
Нет варианта Отчета Все налоги — как на скриншоте,может я что то не так делаю. По отдельным налогам все работники в одном подразделении
Именно по подразделениям отчет барахлил. Неправильно выводились данные с точки зрения иерархии подразделений. Впрочем, это было в начале года, может с тех пор что-то автор подправил?
Для 8.1 тоже не работает, релиз 2.5.34.2, части реквизитов физлица нет в конфе, отбор по подразделению не работает…
Отчет ни работает в 1 с 8.2 ,,,в типовой версии ЗУП 8.2 тоже…очень жаль…..
(14) Внес последнюю форму отчета — работает минимум на 2.5.41.3 для 8.2
Мои бухи пользуются каждый месяц.
Настройку «Все налоги» сделать совсем несложно.
Могу сам сделать/выложить инструкцию, а можете по сайту поискать — пару месяцев назад кто-то выкладывал подобную.
(14) Троллим 🙁 — хватает только на тупой копипаст из (6) ?
(15) (16)
Отчет работает, на всякий случай выложил последний вариант для 8.2 в (17)
Если и этот вариант не работает, прошу более подробно описать неверную ситуацию!
Для 8.1 не учитываются кадровые перемещения, если сотрудник был перемещен между подразделениями, то в отчете он выводится в пустом подразделении. Для сотрудников без перемещений по подразделениями, вроде работает.
работает!
Пока не закачала этот отчет, но ОЧЕНЬ хочется, чтобы это было то, что надо. Чтобы люди в нем не двоились и не троились.
Увы. Сотрудница работает в коммерческом отделе оператором, а в административном — уборщиком. В отчет выводится два раза — в том и другом отделе. Видимо эта проблема нерешаема. Жаль.
Кто нибудь настроил по уму этот отчет? В моей базе сотрудник работает в одной организации но в разных подразделениях, отчет и выдает мне оба подразделения только сумма стоит одинаковая в каждом (налоги по первому подразделен + налоги по второму) может уже решили вопрос с совместителями?
Автор больше не желает заходить на страницу своего продукта чтобы дать консультацию?
(19) в ЗиУП 2.5.43.3 Ошибка в схеме компоновки данных по причине:
Ошибка получения информации набора данных по причине: Ошибка в запросе набора данных
по причине:{(191, 20)}: Поле не найдено «ГражданствоФизЛиц.НеИмеетПравоНаМедицинскоеСтрахование»
ГражданствоФизЛиц.<<?>>НеИмеетПравоНаМедицинскоеСтрахование,
Тоже буду признателен за исправление. Ждём.
Есть ошибки, но поправимо
Не дождался автора, видимо в релизе ЗУП 2.5.43.3 убрали поле НеИмеетПравоНаМедицинскоеСтрахование.
Кто разбирается подскажите, достаточно ли в данном отчете заменить:
..
ГражданствоФизЛиц.НеИмеетПравоНаМедицинскоеСтрахование,
..
НА
ВЫБОР
КОГДА ГражданствоФизЛиц.ВидЗастрахованногоЛица = ЗНАЧЕНИЕ
(Перечисление.ВидыЗастрахованныхЛицОбязательногоСтрахования.ГражданеРФ)
ТОГДА ЛОЖЬ
ИНАЧЕ ИСТИНА
КОНЕЦ КАК НеИмеетПравоНаМедицинскоеСтрахование,
Вроде как заработало
(24) В нашей Russia человеку приходится работать не нескольких должностях одновременно. Днем — квалифицированный специалист, вечером — уборщик помещений. В отчет он попадает дважды и в обеих строках общие суммы по двум исполнениям.
Но проблема решилась, когда сама расчетчица решила порыть тырнет и нашла формочку, идеально ей подходящую, там простая табличка, в которой идет группировка по подразделениям, а внутри строки по сотрудникам. Удивительно, почему я, программист, не могла ее найти. До сих пор не пойму.
Большая просьба, може скинете ссылку в личку на эту формочку, мне бы она очень пригодилась, У меня большая проблема с тем что надо разделить все таки этот отчет по подразделениям, и чтоб у людей не двоились суммы,
К Автору: может все таки решиться вопрос с этим моментом (совместителями)
Эта тема совсем затихла или может кто ответит на мой вопрос?
Зарплата и кадры бюджетного учреждения, редакция 1.0 (1.0.36.1) выдает ошибку
Ошибка в схеме компоновки данных
по причине:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(191, 20)}: Поле не найдено «ГражданствоФизЛиц.НеИмеетПравоНаМедицинскоеСтрахование»
ГражданствоФизЛиц.<<?>>НеИмеетПравоНаМедицинскоеСтрахование,
Подскажите , пожалуйста , как поправить.
Да, в последних редакциях ЗУПа этот отчет не работает. Сделал свой отчет по подразделениям, более «честный»:
У меня не заработала(((
Очень полезная штука, в документе «Отражение зарплаты в регл учете» как раз страховые взносы по подразделениям формируются. Респект автору.
Спасибо! моим бухгалтерам очень даже понравилась!
ЗУП 2.5.50.1
Спасибо. После исправления строчки с НеИмеетПравоНаМедицинскоеСТрахование отчет работает правильно в отличии от
(41) Sunhare, а как Вы исправили строчку «НеИмеетПравоНаМедицинскоеСтрахование» ? Как у powerpc в п.31?
(41) (31) Да, выложу обновленную версию отчета.
Все забываю это сделать. для своих организаций давно это сделал 🙂
(42) harisov_r, Исправил — Ложь как НеИмеетПравоНаМедицинскоеСтрахование, а вот с «работает правильно» — я поторопился — вылезла ошибка с «Доход превышающий предельную базу обложения ПФР» (то ли он по всем организациям считает, то ли еще как-то, но тянет лишних людей.) Придется видно самому разбираться, а так лениво 🙂
В вашем отчете нет превышения предельной базы. Добавил подразделение в группировку — вывел одно пустое подразделение.
(44) Sunhare, Так же исправил эту ошибку. Это просто отчет старый, там предельной величины просто нет.
Посмотрите мой отчет , он умеет выводить данные в разрезе подразделений, сотрудников, их должностей, видов расчета. Учитывает переходы сотрудника по подразделениям.
Ошибка вылазит:
{Справочник.ВнешниеОбработки.Форма.ФормаЭлемента(170)}: Ошибка при вызове метода контекста (Создать): Ошибка в схеме компоновки данных: Ошибка получения информации набора данных: Ошибка в запросе набора данных: {(191, 20)}: Поле не найдено «ГражданствоФизЛиц.НеИмеетПравоНаМедицинскоеСтрахование»
ГражданствоФизЛиц.<<?>>НеИмеетПравоНаМедицинскоеСтрахование,
Зарплата и кадры бюджетного учреждения, редакция 1.0 (1.0.39.1)
ЗУП 2.5.51.1 На закладка «ФСС и ФОМС» данные не выводятся.
Подскажите как исправить ситуацию:
Ошибка в схеме компоновки данных
по причине:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(191, 20)}: Поле не найдено «ГражданствоФизЛиц.НеИмеетПравоНаМедицинскоеСтрахование»
ГражданствоФизЛиц.<<?>>НеИмеетПравоНаМедицинскоеСтрахование,
Спасибо за полезнятину!
А чем отличается АнализНачисленныхНалоговИВзносов.erf (версия для 8.2) от АнализНачисленныхНалоговИВзносов_Артур.erf
Спасибо за полезнятину! Пошла исправлять ошибку и тестировать :)))
Не работает группировка. Она возвращает пустое значение и всё схлопывается по нему.
ЗКБУ 63.2
Программа актуализирована на текущую версию ЗУП 2.5.110.1?
Ошибка в запросе набора данных
по причине:
{(191, 20)}: Поле не найдено «ГражданствоФизЛиц.НеИмеетПравоНаМедицинскоеСтрахование»
ГражданствоФизЛиц.<<?>>НеИмеетПравоНаМедицинскоеСтрахование,
Досих пор актуальна, может кто подскажет, как поправить?