<?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='\
Здравствуйте, я бухгалтер не програмист, когдла открываю обработку выходит ошибка, возможно ли ее исправить?
{Форма.ФормаОтчета.Форма(172)}: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос.Выполнить();
по причине:
по причине:
{(2, 33)}: Поле не найдено «Хозрасчетный.УчетПоПодразделениям»
МАКСИМУМ(ЕСТЬNULL(Хозрасчетный.<<?>>УчетПоПодразделениям, ЛОЖЬ)) КАК УчетПоПодразделениям
(1) К сожалению вы не указали ни конфигурацию, ни релиз. Очень сложно что либо подсказать. Можно предположить, что у вас Базовая версия конфигурации. Если это так, то попробую поправить.
Уточните пожалуйста номер версии и точное название конфигурации.
инфо из справки 1С:Предприятие 8.2 (8.2.12.96)
Бухгалтерия предприятия, редакция 1.6 (1.6.25.6)
(3) Вы пробуете использовать отчет для следующей версии конфигурации (для редакции 2.0)
http://infostart.ru/public/62199/
Для вашей редакции вам необходим вот этот отчет
ps: данный отчет, вам пригодится в следующем году, когда перейдете на редакцию 2.0
Спасибо
в базе 2.0 не открывается, релиз 2.0.18.2
Спасибо ОГРОМНОЕ!!!
Именно то, что мне нужно, Вы просто МОЛОДЕЦ!!!
Спасибо большое!!!!
Есть проблемка. Выставил детализацию по документам,т.е. группировки Организация, Контрагент, Документ.
Все проверял на демо базе 2.0 за 2009г.
1. Выводятся какие то пустые строки. При попытку расшифровать-открыть документ — Неопределено
2. В случае зачета аванса по 62 счету суммы выводятся и по дебету и по кредиту, что увеличивает оборот и как следствие конечный остаток неправильный. Это очень критично. Аванс 15000, реализация 30000, конечный остаток — 0. Это при любой детализации
В новой версии вроде поправлено. Коменты не отслеживаю, замечания пишите в личку.
при установке счетов через параметры
фильтр по счетам не работает
а если до добавляешь в отбор Счет
всё работает
Благодарствую))) разработчику
немного изменяешь настройки и просто сказка для руководства))) менеджеров и вообще
всех кто не любит обоотно-сальдовые ведомости))))р
Спасибо, то что искала для директора, а то он привык именно к такому отчету в 1С 7.7
Спасибо, вещь нормальная!!!
Подскажите как его прицепить и открыть?
(15) Как и все отчеты: Файл — открыть. Ну можно загнать и во внешние отчеты (подробнее на диске ИТС)
можно по подробней как через внешние отчеты я просто никогда не делала этого…..
(17) Сервис — Внешние отчеты и обработки — внешние отчеты. Далее разберетесь.
Если не разберетесь, то еще раз повторяю, подробнее — на диске ИТС.
все получилось спасибо
Спасибо большое, очень полезный отчет. Он помог сэкономить кучу времени.
Можно побольше фотку разворачивающую установить, а то ничего не видно
(21) Откройте «фотку» (скрин) внизу…. )))) Он достаточно крупный ))))
Спасибо. полезная вещь
С ценой по моему перебрали.
(68) Цена вещь вааще субъективная…..
Она (цена) складывается не только из сложности разработки, но и:
— налогов, оплаченных при продаже;
— стоимости услуг Инфостарта;
— спроса на разработку;
— ну и вкноце-концов, стоимости за поддержку продукта и адаптацию к новым релизам программы.
Конечно, разработчик может пойти навстречу пользователям. Я рассмотрю возможность ВРЕМЕННОГО снижения цены на январь месяц.
(24) nizar1, По просьбам покупателей, пока, цена на продукт снижена до 2000 рублей.
а есть ли возможность формировать ваш отчет по счетам 68, 69, 71, 73.03.?
(27) podelis, В отчете можно использовать любые счета , на которых имеется аналитика по контрагентам.
Впринципе, могу написать требуемый вам отчет под заказ.
Спасибо, пригодится!
Качественная разработка, респект автору.
Здравствуйте! У меня не формирует ничего, Подскажите пож в чем проблема??
Все нормально, сформировалось. Только вот хотелось видеть сальдо (итог) по каждому контрагенту отдельно. Это возможно дописать? Заранее спасибо. Очень нужная доработка.
Все увидела, просто удобнее было, если бы внизу каждого договора был под итог. Приходится возвращаться в верх таблицы и смотреть. Но все равно спасибо!
Спасибо отчет то что нужно,нет необходимости переходить на торговлю,все можно посомтреть и в бухгалтерии
Отличный отчет! Качественная разработка, автору большой поклон.
Возможна ли доработка:
колонки приход и расход в валюте?
разница между ними, чтобы контролировать частичную и полную оплаты именно в валютных суммах
спасибо!
(36) Filimon88, не помню, что там я писал… давно это было. Для версии БП 3.0 уже сделал с валютой.
Пишите в личку, что-то может придумаем.
Спасибо пригодилась обработка.