<?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с КА. Не работает в Чеках ККМ. В комментариях все верно, но конечную сумму не выводит.
Комментарии:
Сумма документа без скидок: 6 890
Сумма автоматических скидок: 482,3
Сумма ручных скидок: 344,5
Сумма документа со скидками: 6 063,2
Округленная сумма: 6 060
Сумма округления: 3,2.
Скриншот прилагаю.
Также в 1С:Комплексная автоматизация 2 (2.2.4.21) (http://v8.1c.ru/ka2/)
Copyright © ООО «1C-Софт», 2004-2017 обработка не работает и в документе Реализации. Скрин в приложении.
На скриншоте не понятно, как настроены скидки и порядок в группах скидок.
На скриншоте: ручная скидка — 199.50, автоматическая с округлением — 280.50
Всего скидка 480 — округление до 10 руб.
(4) На скриншоте настройки.
В комментариях считает верно, но сумму документа не меняет(
(5) Возможно нужно проверить настройки группы Округление. Проверю на последнем релизе УТ11, может изменился формат скидок.
(5) Проверил на свежем релизе УТ 11, все округляет без ошибок.
Возможно в Комплексной автоматизации другие механизмы промежуточных расчетов скидок или у Вас неверно настроены группы скидок.
(7) У нас все равно ничего не работает.
С вами можно договориться подключиться и все настроить, либо доработать?
Как с вами более оперативно выйти на связь?
Добрый вечер.
У нас все равно не работает.
Как с вами более оперативно можно выйти на связь?
Вы могли бы подключиться и настроить, либо доработать?
(2)А точно для КА 2 обработка должна работать вообще?
Вроде бы:
«Обработка предназначена для использования в конфигурации «Управление торговлей» 8 редакций 11.2 и 11.3″.
Обработку тестировал только на УТ 11. К комплексной автоматизации не подключал.
Механизмы конфигураций похожи, но возможно есть отличия, которые влияют на обработку.
Судя по скриншоту, округление срабатывает, но общая сумма автоматической скидки не переносится в документ.
У меня нет клиентов на комплексной автоматизации, поэтому на ней обработка не проверялась.
Скоро выложу версию с дополнительной настройкой — «Отключать автоматические скидки, если введена ручная скидка».
Добрый день.
Скачал, установил. Как-то не так работает.
Вопросы:
1. Работает ли расширение на УТ 11.4 ?
2. Как обработка дружит с бонусными баллами — начислением и оплатой? Если я все правильно сделал, то обработка округляет с учетом начисляемых бонусных баллов. Например, Округление настроено до 10. При продаже начисляется 149,5 баллов (сумма чека не уменьшается). Обработка добавляет еще 10,5 руб., на которые уменьшается сумма чека. Итог — никакого округления нет. Так и должно быть?
(13) На 11.4 расширение работает.
Округляются автоматические и ручные скидки, то есть те, которые уменьшают сумму документа.
Если используются бонусы (которые не уменьшают сумму документа), округление не будет работать правильно.
(14) Если с бонусами не работает, тогда беда(((
Есть возможность это доработать?
УТ 11.4.2.109 работает. Сэнк ю вери мач! Сэкономил время. Ручная скидка, скидка по карте, все отрабатывает, чек округляет
Здравствуйте, обновил УТ на 11.4 и скидки перестали считаться.
КА 2.4, используем только ручные скидки, округление отработало нормально.
Добрый день.
Я правильно понимаю, что данная обработка не сможет работать в режиме:
— округление проводится в каждой строке независимо
— если нет ручной скидки или автоматической скидки (ранее рассчитанная автоматическая скидка равна нулю), то не округлять
УТ 11.4 — Очень помогло … огромное спасибо!!!
УТ 11.4 — помогло
Спасибо Вам!)
Приветствую. Будет ли округлять просто цены? Например цена задана в USD и ее нужно округлять в документах.
(23) Добрый день.
Нет, округляется рассчитанная сумма (цена * количество — скидка).
Но итоговую сумму округлит.
Округление цены — при установке цен или в настройках вида цен.
Доброй ночи. Написал Вам в личку. Такая же беда.
В комментариях округляет, а сумму документа нет. В реализации такая же ерунда.
Доброго времени суток.
Подскажите:
* Возможно ли настроить округление суммы в каждой строке, а не только общей суммы документа ?
* Есть ли возможность настроить точность округления до 0,1 руб (10 копеек) ?
(26) Добрый день.
Точность округления настраивается.
Отдельно строки не округляются. Округляется общая сумма документа.
Коллеги, добрый день!
Не могу скачать обработку, но очень нужна, киньте плиз на почту dorax@mail.ru
У меня вот так получилось в типовой торговле.
(29) Типовой механизм округляет с учетом ручных скидок?
(30)да, вот по такой настройке у меня заработало.