<?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='\
Если необходим количественный выложу что и где закомментировать и где дописать !!!!
(1) выкладывай.
Не плохо бы выделить отдельной подсистемой для идентификации объектов
Да можно было бы закинуть в отдельную подсистему и включить в настройках параметра учета через функциональную опцию включить возможность включения(отключения) учета ПС.
И отчет еще нужно поправить =))) а то Внереализованная прибыль не правильно отражается =)))
у вас в фр как печатается «безналичная» или отдельной строкой?
В комплексной будет работать?
Не могу сказать !!! К публикации приложен CF из УТ а Комплексная считается другим ПП фирмы 1С соответственно придется разворачивать и переносить ручками в КА 8 но там все подписано перенести день работы.
Спасибо! Попытаюсь перенести.
Спасибо, работает на платформе 8.1, а по поводу ФР сделал отдельной строкой.
(9) поделитесь опытом по переносу в личку 🙂
(1) а если продажи делаются документом РТиУ (КА), сильно механизм менять придется?
Блин я даже не знаю что сказать !!! Наверное придется не изменить, а придумать механизм какой то свой для гашения сертификата в документе РТиУ.
(10) volga1, подскажите, пожалуйста как переделать чтобы отдельной строкой шло в ФР?
(5) я так поняла, что она удваивается в итогах группировки? Если знаете, подскажите, пожалуйста, где это можно поправить?
(14) Kitri, Не совсем понял вашего вопроса =)
спасибо, полезно
Реализовывал когда-то подобное. правда использовал не серии, а характеристики. Но Ваш способ удобней, спасибо…
В з-отчет попадает и стоимость подарочного сертификата и цена товара. То есть итоговая сумма за этот товар задваивается! Подскажите как это дело побороть?
Скачала данную обработку, а теперь расскажите пожалуйста кто-нибудь, как ею пользоваться? Точнее как загрузить в 1с. Впервые столкнулась с таким разрешением .cf
(19) NKrisV, Я думаю файл нужно передать программисту 1С и попросить его внедрить в вашу конфигурацию.
По поводу задваения суммы в z-отчет , вы наверное что-то не так делаете!
Если нет подсистемы с измененными/добавленными объектами, то может в статье напишите какие объекты добавили/изменили?
Да, признаю, в отдельную подсистему не вывел! Сейчас уже и не вспомню что изменял лучше сравнить с типовым релизом!
Подскажите в «Управление торговлей», редакция 10.3 (10.3.14.3) будет работать?
В отчете в скд поправьте
Вместо
на это
Прибыль то только от обналиченных сертификатов идет как понимаю )
Я честно скажу что уровень моего программирования был не особо высок поэтому возможны ошибки. Но я за это и денег живых не беру =)))) А как болванка подойдет, а там люди поправят =)))
Внедрил данную обработку в 1с 8.2 конфигурацию 10.3.30.1. Но есть проблема с которой пока не могу разобраться, при закрытии кассовой смены в отчете о розничных продажах не гасится ПС, но если его туда вручную вбить и перепровести, то все нормально.
Прошу подсказать где накасячил.
При проведении чека (продажа шла из ФормыРегистрацииПродаж) пишет,что остатка по сертификату НЕТ. разбираюсь почему проверяет остаток по сертификатам
Подскажите, как реализован учет по остаткам ПС? Так как столкнулся с проблемой, при проведении «Отчет о розничных продажах» — ругается на недостачу
Добрый день! Скачали подсистему, наш программист установил ее, и тут мы сталкнулись с проблемой на самом простом: мы не можем забить серийные номера как это показано у вас. Подскажите, с чем это может быть связано: с конфигурацией или с некоректной установкой подсистемы.
(3) Нужно поменять чтобы не ругалось на недостаток товара на складе
Документ: Чек ККМ:
Процедура: ДвиженияПоРегистрам
Показать
(29) Я думаю с установкой скорей всего.
Здравствуйте. Внедрил данный учет сертификатов, но возникла проблема. Без фискального регистратора все хорошо, все работает. Но с фискальным регистратором при закрытии чека пишет «Возможны расхождения ИБ и ленты ФР! Ошибка при попытке проведения документа!». Фискальный регистратор Штрих-М-light-200.
Подскажите, пожалуйста, в чем может быть проблема?
Вообщем я думаю нужно посмотреть механизм печати чека на ФР. Скорей всего вид оплаты подарочным сертификатом никак не проходит и не отражается в секции оплат чека. К сожалению ФР под руками нет и не появиться в ближайшее время а те что есть фискализированы и потестить не выйдет. Выше кто-то уже говорил про эту беду. Можно с ним списаться и попросить куски кода которые он изменил. Удачи Вам!
Добрый день!! Подскажите можно ли внедрить данную обработку в УТ 8.3 ВЕРСИИ 10.3.29.1 ???
(34)Да можно можете скинуть на адрес 1c8v@mail.ru
Я правильно понимаю, если продажи делают через фискальный регистратор(ШТРИХ-М, без онлайн кассы) то сертификат не верно продается?
(32)
Не нашли решение проблемы?
Да на текущий момент публикацию необходимо переработать. Она не отвечает требованиям ФЗ-54.
(38) не планируете этим заняться?
Если работает обмен УТ 10.3 с Розница 2.2 базовая, то данная обработка подойдет?
(39)Бесплатно, нет+)))
Нет, правила конвертации нужно переписывать !!! Если это сделать то подойдет !!!
Здравствуйте
Заинтересовала ваша система, сможете внедрить у нас на дописанной ут 10.3 с учетом ФЗ-54 , интересует цена вопроса, можем списать по email.
(43)Добрый день!!! Готов оказать помощь!!! Пишите Consultant_1C@bk.ru
Помогите пожалуйста с установкой. Есть несколько вопросов:
1) как объединять конфигурацию? основными делать свою или загружаемую?
2) к каким регистраторам привязывать? (только ЧекККМ или еще какие-то нужны?)
Думаю по поводу объединения лучше позвать программиста !!! Он как раз и перенесет изменения и новые объекты.