При загрузке файла в SPU-ORB не загружаются сведения о рабочем месте (подразделение, должность и т.д.) из раздела 5, только код особых условий труда.
В файле из КЗ имеем
<ИС:Описание>ВЫПОЛНЯЕТ НАЗНАЧЕНИЯ ВРАЧА НА ПРИЕМЕ В ПОЛИКЛИНИКЕ И НА УЧАСТКЕ
<ИС:Документы>КНИГА ПРИКАЗОВ, ШТАТНОЕ РАСПИСАНИЕ, ТАРИФИКАЦИОННЫЕ СПИСКИ, ТАБЕЛЬ УЧЕТА РАБОЧЕГО ВРЕМЕНИ, КАРТОЧКА Ф. Т-2
В файле, выгружаемом из SPU-ORB
<ИС2:Описание>ВЫПОЛНЯЕТ НАЗНАЧЕНИЯ ВРАЧА НА ПРИЕМЕ В ПОЛИКЛИНИКЕ И НА УЧАСТКЕ
<ИС2:Документы>КНИГА ПРИКАЗОВ, ШТАТНОЕ РАСПИСАНИЕ, ТАРИФИКАЦИОННЫЕ СПИСКИ, ТАБЕЛЬ УЧЕТА РАБОЧЕГО ВРЕМЕНИ, КАРТОЧКА Ф. Т-2
Разница в «ИС:» и «ИС2:»
При этом сведения о работниках и периодах работы из файла, сформированного в КЗ (с «ИС:») в SPU-ORB загрузились нормально.
Заменил в файле из КЗ все «ИС:» на «ИС2:», после чего все данные в SPU-ORB загрузились и при передаче файла в ПФР проверка ошибок не нашла.
1С-Отчетность: Не найден сертификат руководителя в системном хранилище сертификатов
Вот такой казус.
С чем это может быть связано?
ПФ. СЗВ-СТАЖ
0 0 Отмена
Подписаться
Ответ

Программисты SPU-ORB не умеют работать с пространством имен в xml-файле. Они считают что значения префикса определяется своим названием (ну что должно быть обязательно ИС2 а не ИС), а по стандарту xml префикс определяется uri присвоенным префиксу в начале xml файла.
Если программисты SPU-ORB в начале файла написали:
xmlns:ИС2=»http://пф.рф/ВС/ИС/типы/2018-11-20″,а мы написали
xmlns:ИС=»http://пф.рф/ВС/ИС/типы/2018-11-20″
То ИС2:Документы у них и ИС:Документы у нас — это одинаковые элементы. Что и подтверждает проверочная ПО ПД.
Решение «Не найден файл внешней компоненты» для ЗУП 3.1

Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.
В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с «///// echo» использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
Загрузка данных сотрудников из файлов отчетности — Обзор ред. 3.0 программы 1С:ЗУП 8.3
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1.
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.
Собственно сам скрипт:
global $wpdb2;
global $failure;
global $file_hist;
///// echo ‘
Старт загрузки
‘;
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once ‘connection.php’; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
///// echo ‘
Ошибка подключения к БД, завершение.
‘;
$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 ‘
Файл обмена с сервисными книжками не существует.
‘;
$m_comment=’Файл обмена с сервисными книжками не существует’;
$failure=TRUE;
>
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure) ///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET[‘foo’]
///// echo ‘
Попытка вставить запись в лог таблицу
‘;
$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 ‘
Возврат в начало.
‘;
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 ‘
Размер файла: ‘.$m_size_file.’
‘;
///// echo ‘
Штамп времени файла: ‘.$m_mtime_file.’
‘;
///// echo ‘
Формирование запроса на выборку из лога
‘;
////препарируем запрос
$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))
$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 ‘
Попытка вставить запись о начале загрузки в лог таблицу
‘;
$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 ‘
Очистка таблицы сервисных книжек
‘;
if (empty($results))
///// echo ‘
Ошибка очистки таблицы книжек, завершение.
‘;
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
>
////загружаем данные
$table=’vin_history’; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=’;’; // Разделитель полей в CSV файле
$enclosed='»‘; // Кавычки для содержимого полей
$escaped=’
Источник: open-budget.ru
Файл программы по пд не найден 1с
Заполняем Условие труда кодом 27-1, а код позиции списка указываем — 12003000-17541. В досрочном назначении пенсии указываем код 27-14. CheckPFR (1.1.52 17.01.2018) показывает на такие строки стажа ошибки. (1-я ошибка на скриншоте)
«Одновременное заполнение блоков «ЛьготныйСтаж. ОУТ» и «ЛьготныйСтаж. ВЛ» допускается только в следующих случаях:» и идёт перечисление случаев.
Если убрать 27-14, то покажет ошибку, что при таком условии труда нужно проставить 27-14. (2-я ошибка на скриншоте)
Пожалуйста, подскажите как нужно заполнить периоды в таких случаях?
Отдел кадров пояснил, что если есть код «27-14» для досрочного назначения пенсии, то код «27-1» для условия труда не заполняется. Также не заполняется код позиции списка.
(3) с какого перепуга ваш ок это взял? тут ничего не поменялось за много лет, своих диспетчеров вредности хотите лишить? они люди нервные, не поймут 🙂
это косячина программы проверки
см. постановление котором форма утверждалась, раздел приложение «общие проверки»
ПОСТАНОВЛЕНИЕ
от 11 января 2017 г. N 3п
ОБ УТВЕРЖДЕНИИ ФОРМЫ «СВЕДЕНИЯ
О СТРАХОВОМ СТАЖЕ ЗАСТРАХОВАННЫХ ЛИЦ (СЗВ-СТАЖ)»
Если «ЛьготныйСтаж. ОУТ. ПозицияСписка» имеет значение 12003000-17541, то «ЛьготныйСтаж. ОУТ. Код» должен быть равен 27-1 или ЗП12А, а «ЛьготныйСтаж.
ВЛ. Основание» должно быть равно 27-14 или УВД
(4) Ну мне они не сказали с чего они так решили. Надеюсь разработчики CheckPFR оперативно поправят косяк. Спасибо.
ПО ПД ещё нужно дорабатывать. Показывает ошибку, что при указании кода досрочного назначения пенсии 27-14 должен отсутствовать элемент ‘ЛьготныйСтаж. ВЛ. Доля ставки’. Он 0 и он выгружается в структуре как 0. Ошибку тут не надо показывать. Нужно проверять если есть значение, то оно должно быть 0.
Форума у разработчиков ПО ПД нет.