<?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='\
А разве валюту над шапкой таблицы не убрали ?
В правом верхнем углу — 229 от 27.07 — это откуда… Я так понял — что это был ФЗ, а не постановление правительства, а постановления как раз пока нет еще… поэтому пока решил поождать… или я не прав???
(1) Точно, сорри, подправил, выложил без валюты в шапке печатной формы.
(2)Вообще то и ввод колонки еще не приняли официально, но некоторые клиенты уже хотят это видеть у себя, поэтому то и добавил, там стоит условие в шапке что если дата документа >= 02.09.10 то показываем эту надпись.
у меня ошибка выдается
БратьСуммыИзУчета = глБратьСуммыИзУчета<<?>>(Докум.ДатаДок, Докум.ДокОснование.КодОперации);
{C:DATABASEDB_ТОРГОВЛЯEXTFORMSPRNFORMSSF229.ERT(313)}: Функция не обнаружена (глБратьСуммыИзУчета)
БратьСуммыИзУчета = глБратьСуммыИзУчета<<?>>(Докум.ДатаДок);
{C:DATABASEDB_ТОРГОВЛЯEXTFORMSPRNFORMSSF229.ERT(315)}: Функция не обнаружена (глБратьСуммыИзУчета)
я что-тот не так сделала?
(5)Вы точно в Торговлю вставляете данную обработку??? В стандартной ТиС есть данная функция в ГБ!!!
Показать
(4) дык имхо — надпись неверная, а какая должна быть непонятно… завернут опосля счет-фактурку фискалы…
ТИС 7.7 версия 7.70.944
C:DataBaseDB_ТорговляExtFormsPrnForms
вроде верно…?
(8)Возможно релиз старый… Я проверял на релизе 958. Попробуй скачать новый релиз и обновиться, либо просто эту процедуру в глобальник поставь ))
если ставитьт процедуру в глобальный код, то:
1.я копирую все что у тебя написано в посте 6
2. вставляю в любое место или в какое-то определенное ?
(8)Нужно вставить эту процедуру в глобальный модуль в любое место а также добавить строку с переменной:
Эхх, как всегда, народ скачивает, а плюсики не ставит 🙂
кажется мне что это печ формы от комплексной
(13) А вот и нет! )) Это из стандартной ТиС, релиз 958 ))
У меня такая же проблема как и у Helga_love((, ТиС 7.70.938
(15) Подправил, пробуйте скачать заново и проверить.
спасибо вам большое
У меня все равно ошибку выдает:
Если ДатаОперации <глДатаПоПриказу147 Тогда
{D:1C_BASESKMS_TRIUMFËÎÄÎËEXTFORMSPRNFORMSSF229.ERT(32)}: Операции сравнения на больше-меньше допустимы только над значениями совпадающих базовых типов (число, строка, дата)
((((
(18) Подправил, пробуйте скачать заново и проверить.
Добавил, что глДатаПоПриказу147=»01.01.2008″
Снова ошибка:
Возврат Константа.СуммыВПечатныхФормахПоУчету:{D:1C_BASESKMS_TRIUMFËÎÄÎËEXTFORMSPRNFORMSSF229.ERT(43)}: Поле агрегатного обьекта не обнаружено (СуммыВПечатныхФормахПоУчету)
(20) Замените в модуле строку «Константа.СуммыВПечатныхФормахПоУчету» на 1.
Файлы, подправил, перезалил.
Спасибо огромное, все работает!!! 🙂
впереди паровоза?
(23) Вас что-то не устраивает?
Спасибо, работает!
у меня тоже заработало — ставлю плюсик:)
Обработка нужная и, главное, своевременная. А где тут плюсы ставить?
А подскажите плиз, как убрать «Он же» из гузоотпровителя ?
(28) «Он же» можете убрать внутри модуля данной обработки, в процедуре ПодготовитьРеквизитыШапки(Докум, Рекв)
а что там надо прописать? подскажите плиз 😳
(30) Смотря что вы хотите там видеть 🙂
Название организации и ее адрес
(32) Нужно тогда заменить строку: Рекв.ДобавитьЗначение(«Грузоотправитель и его адрес: Он же», «Грузоотправитель»);
на строку: Рекв.ДобавитьЗначение(«Грузоотправитель и его адрес: [Докум.Фирма.ЮрЛицо.ПолнНаименование]», «Грузоотправитель»);
Огромное спасибо Вам!!!!!!!!
Замена строки на Рекв.ДобавитьЗначение(«Грузоотправитель и его адрес: [Докум.Фирма.ЮрЛицо.ПолнНаименование]», «Грузоотправитель»);
результата не дало, так и пишется в с/ф в квадратных скобках [Докум.Фирма.ЮрЛицо.ПолнНаименование], и адрес не ставит.
Уважаемый Cobranet123, помогите пожалуйста разобраться недалёкому чайнику, как исправить? 🙁
Не правильно считает НДС в печатной форме (копейки не округляет)
10,1366 выводит 10,13
Не правильно считает НДС в печатной форме (копейки не округляет)
(37) Проверяйте вашу процедуру в глобальном модуле глФРМ, в ней как раз и идет округление до нужных знаков, а правила округления 1,5 до 2 или 1,5 до 1 можете проверить в свойствах конфигурации.
Либо как вариант можете просто в печатной форме изменить значения ячейки при выводе СуммыНДС. Сейчас там выводится глФРМ(Итоги.Получить(«ИтогСуммаНДС»)), можете принудильно изменить на Формат(Итоги.Получить(«ИтогСуммаНДС»),»Ч015.2″)
Не правильно считает НДС в печатной форме, по некоторым позициям. В глобальном модуле все правильно.
Предыдущая форма СФ от 2006 г. верно считает
Не выводит ГТД.
в первую строку загоняет нижнее суммарное, и начиная со второй строки выводит «без НДС» и пустые поля цены, суммы)
в счф старой было и есть все ок
такие печатные формы выводятся в некоторых!!! (не всех) счф
Для strong (35) Замените на Рекв.ДобавитьЗначение(Шаблон(«Грузоотправитель и его адрес: [Докум.Фирма.ЮрЛицо.ПолнНаименование],Адрес: [глПредставлениеАдреса(Докум.Фирма.ЮрЛицо.ЮрАдрес)]»), «Грузоотправитель»);
спасибо за обработку. Интересно, а 1С ники когда поменяют ее в программе по умолчанию?
(44) igo13, Они уже никогда это не сделают, так как продажа 7.7 прекращена.
Огромное спасибо!