<?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='\
Добрый день! Подскажите, вы сравнивали для себя заполнение реквизитов контрагентов с помощью вашей обработки и с помощью сервиса 1С:Контрагент? Они идентичны или есть различия?
(1) delta, В При заполнении контрагента не заполняется номер телефона организации. При заполнении организации не заполняется телефон, платежные реквизиты ПФР, ФСС. В остальном вроде идентичны.
Не работает. Ошибка отображения типов. Отсутствует отображение типа «Файл»
(3) centrs, Версия платформы? Конфигурация? Тип Клиента Веб,тонкий клиент? ИНН?
(4) в версии расширения для УТ11 Вы ошиблись в функции ФайлыPDFTOTXTСуществуют.
В 3600 строке, где у Вас:
надо было написать
Получается, что Вы с клиента на сервер сам Файл отправляете, а не булево. После исправления — работает нормально.
(5) bambr1975, Спасибо. В следующем релизе поправлю. Сейчас готовлю обработку для онлайн обновления расширения. Для тех кто уже скачал расширения вышлю обработку обновления.
(6) такая же проблема, отсутствует отображение типа файл. версия платформы 8.3.7.2008, БП КОРП 3.0.43.187
(6) {Справочник.Контрагенты.Форма.ФормаЭлемента.Форма(2285)}: Поле объекта не обнаружено (ЮридическоеФизическоеЛицо)
Если Объект.ЮридическоеФизическоеЛицо <> РеквизитыКонтрагента.ЮридическоеФизическоеЛицо Тогда
Теперь выдает это. А если искать ИП по наименованию.не высвечивается картинка с цифрами для проверки
Кто уже скачал расширение я выслал ссылку на обработку обновление, кому не пришла, пишите в личку.
Автор просто красавчик, хотя бы тем, что остальные просто барыжат свои обработки.
А на мой взгляд решение расширениями конфигурации на порядок технологичнее.
Плюс однозначно.
Некоторые замечания:
1. Подключайте расширение с отключенным безопасным режимом, иначе не выйдете в интернеты.
2. Я бы не делал троекратное дублирование в форме контрагента, вполне достаточно одного раза, но на вкус и цвет.
3. Расширение работает на клиенте. Не проверял досконально, но пока клиенту не открыть доступ к сайту егрюл капча не отображается.
Что в общем то логично. Хорошо сделанную капчу так просто с сервера на клиент не перекинуть.
Если будет желание — могу предложить решение как прикрутить сервис ру-капча к 1С. У них цены 20 руб за 1000 капч.
Да , прикрутить сервис типо рукаптчи или антикаптчи было бы неплохо…
(10) capitan,
Очень интересно, если можно, пжлста, подробнее об этом.
(9) в расширении в обработке «ЗаполнениеКонтрагентаДаннымиФНС» в 117-й строке макета «ОКОПФ» в 3-й колонке пропущен пробел в наименовании типов организации «Государственное бюджетноеучреждение», поэтому на таком типе организации вываливается ошибка, нужно указать «Государственное бюджетное учреждение», чтобы ошибки не возникало. Или поправить функцию «ЗаполнитьОбъектXDTOРеквизитыЮрЛица» в строке «Если Не ПустаяСтрока(ДанныеОКОПФ.КодОПФ) Тогда» проверять не на пустую строку, а на отсутствие значения (Неопределено).
(9) еще заметил, что адреса не всегда корректно заполняются, т.е. адрес как бы заполняется, но при нажатии кнопки «Проверить заполнение» непосредственно в карточке этого адреса, проверка выдает ошибки, например, у меня в строку «Город, нас. пункт» попали только наименование района и край, а сам населенный пункт (в моем случае это было село) не попал, остальные реквизиты адреса — индекс, улица, номер дома заполняются нормально.
Разобрался в проблеме: чтобы правильно заполнялось поле «Город, нас. пункт» нужно в функции «ДанныеЮрЛицаИзTXT» изменить строку:
на
(9) c заполнением ЮрЛиц вроде неплохо, а вот с ФизЛицами не очень хорошо, в том смысле, что кроме ФИО и ОГРНИП больше ничего не заполняется, ни адрес, ни данных о регистрации (св-ва)… 🙁 посмотрел, действительно в выписке ЕГРЮЛ нет адреса ФЛ. но «Серия, номер и дата выдачи свидетельства» есть и они не заполняются…
Заполнение «Серия, номер и дата выдачи свидетельства» решил добавлением следующих строк в функцию «ПолучитьРеквизитыОрганизации»:
Показать
Спасибо. Добавил ваши доработки в новый релиз.
Большое спасибо за расширение, очень помогло
Не работает в конфигурации 3.0.43.247
там поменялись типы присоединенных файлов справочника Организации
сюда выкладывать не буду, надеюсь автор сам поправит
Жаль, что автор не поддерживает это расширение
(19) TrinitronOTV, тут ресурс для технически подкованных людей.
А если хотите чтобы автор не забрасывал свой проект, его надо поддерживать (автора)
1С:Предприятие 8.3 (8.3.8.2088)
Бухгалтерия предприятия, редакция 3.0 (3.0.44.177)
Ошибка подключения расширения: ЗаполнениеДаннымиФНС (0.4) — Ошибка свойства РежимСовместимостиИнтерфейса у объекта
Раньше не имела дела с расширением, подскажите, в чём может быть проблема: добавила в режиме предприятия расширение, но оно помечено красным кружком и в контрагентах ничего не появляется. После добавление расширения программу перезапускала. Ошибок вроде никаких не выдаётся.
БП 3.0.48.22, платформа 8.3.9.1818
Евгения. [22] Данная разработка предназначена для программистов как ознакомительная. Последний раз проверял на версии 3.0.42. Красный кружок означает расширении не прошло проверку совместимости с текущей версией.Скорее всего изменилась структура справочников используемых в расширении. Необходима доработка под текущую версию конфигурации.
поставил вашу обработку клиенту для ознакомления.
недавно у него нашелся вирус, говорит что ругается на эту обработку. у меня антивирус говорит что все чисто. в чем дело не пойму(
(24) Первый раз такое вижу. Вероятно цель вируса файлы 1С. Почистите от вирусов и закиньте заново.
а как по ОбъектXDTO
определить что контрагент прекратил деятельность?