<?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='\
Понравилась epf-ка. Плюсую, а рейтинга не хватает …
ну, насколько я себе представляю — акт составлен в слишком уж «произвольной форме»…; _) В шапке — согласен? «комиссия в стоставе пепечисление», в в подписях я бы сделал
Председатель комиссии
Члены комиссии
..комиссия не может быть без председателя…
Ну, особо требовательные чебурашки могут перед должностью одного из членов комиссии указать «Председатель комисиии», «Секретарь комиссии», «Член комиссии» и т.п. Поле там неограниченное.
в 8.1 не работает
Сделал для редакции 1.6
Спасибо, очень понравилась ваша обработка….
никак немогу запустить в 8.1 пишет:
{Справочник.ВнешниеОбработки.Форма.ФормаЭлемента(188)}: Ошибка при вызове метода контекста (Создать): Ошибка загрузки документа.
Внешняя обработка не может быть прочитана текущей версией программы.
Обработка запускается в 8.1. Что делать? Очень нужно для работы!
Акт списания ТМЦ (БП ред. 1.6) — для 8.1
Нашел для 8.1. Спасибо. Отличная разработка и главное нужная! Авторы одназаначно плюс.
Огромное спасибо!
хм…. я а помню у автора была такая же обработка но для формирования формы 0504230 или у него было право на скачку её с проф клуба, если не тяжело, можешь выложить?
вот ссылка на обработку, к сожалению, автор — не я (хотя и сделано на основе моей), поэтому выкладывать здесь — не имею морального права.
блин, там-то я её и находил, но вот права на скачку у меня нету 🙁 и пароль от профклуба я потерял и восстановить не могу 🙁 не могбы ты её скинуть на почту или в личку…. плз…
Спасибо, просто, но нужно
А для 7.7 такой есть? Очень хотелось бы…
Собственно для 8 делался по просьбе пользователей версии для 7.7
http://azernot.narod.ru/Files/AktSpis.zip
Большое спасибо. простой и ничего лишнего. спасибо за сэкономленное время.
Огромная благодарность за разработку!
Классно
Огромное спасибо! Очень пригодилась.
А как сделать чтобы в поле НазначениеИспользования подставлялись данные из комментария к документу?
Я такой возможности не предусматривал..
Ну подскажите как это сделать, очень надо
В функции «Печать()» модуля обработки, необходимо строчку
ДанныеДляПечати.Вставить(«НазначениеИспользования», НазначениеИспользования);
заменить на
ДанныеДляПечати.Вставить(«НазначениеИспользования», СсылкаНаОбъект.Комментарий);
Отличная разработка! Большое спасибо.
Спасибо
Спасибо огромное за обработку! Плюсую!
Сэкономил мне время, спасибо 😀
Оно распрекрасно работает и под 8.2 БП ред. 2.0
Так что (ежели не лень), можешь подправить в модуле:
Плюс!
Хм, оказывается, я авансом уже плюсовал. Сие означает: ничего я зря не делаю 😀 😀
Хотелось бы такую форму для 8.2 БП ред. 2.0 форма очень хорошая
(31) Читать не умеете, или до того к халяве привыкли, что даже попросить любого проггера закомментировать строчки из (30) уже сложно?
❗ Спасибо за форму для 8.2
——-
(33) я разобрался 🙂
Не могу загрузить «Ошибка загрузки документа. Обработка не может быть прочитана текущей версией программы.» Программа 1С:Предприятие 8.2 (8.2.13.205)… Подскажите что делать? Очень надо
Спасибо огромное за обработку для БП 8.2 ред 2.0
Все-таки не понятно, как работает в 8.2? Я не программист, а бухгалтер. Может быть, кто-то сможет объяснить, как запустить обработку? Выдает: «Ошибка загрузки документа. Обработка не может быть прочитана текущей версией программы.» Версия программы Бухгалтерия предприятия 8.2 (8.2.13.205). Всем спасибо за ответы.
Давно пользуюсь Вашей обработкой
в 1С:Предприятие Бухгалтерия предприятия, редакция 1.6 работала без вопросов
но в редакции 2.0 ругается
Регистрируемая печатная форма акта списания предназначена для использования в конфигурации
«Бухгалтерия предприятия», редакция 1.6.
Как ушатать-ПОМОГИТЕ!
Неплохой акт, ничего лишнего, рекомендую использовать тем, кому нужен такой первичный документ как АКТ СПИСАНИЯ. Хотя по большому счету достаточно требования-накладной.
спасибо!!
Огромное спасибо, настолько нам облегчаете работу. Моей благодарности просто нет предела!
нужный акт +
Спасибо, очень даже нужный.
Спасибо огромное за обработку для БП 8.2 ред 2.0
Очень нужная.
Спасибо за обработку. Это единственный акт который мне полностью подошел. Просто, доступно, понятно.
Спасибо, нужный отчет
То, что нужно! Спасибо!
спасибо отличная вещь!!!!
Большое спасибо. простой и ничего лишнего. спасибо за сэкономленное время.
Спасибо! очень сэконимили время!
спасибо за отличную обработку, просто и элегантно )
до сих пор делала такие акты вручную через танцы с бубнами )))))
Эта самая лучшая обработка которую я скачивала с данного сайта. Большое спасибо разработчику. Единственно, отчет формирует и выводит на печать, но постоянно выбивает какую-то ошибку, которую просто сварачиваешь и дальше работаешь. Это не много раздражает.
А так просто СУПЕР!
уменя в 8.2 бп 2.0 не вставляет членов комиссии, на форме создал всех членов комиссии в документе требование накладная, все равно не выходят, пробывал открывать обработку просто через меню открыть и там вбить членов комиссии все равно не выходят, где поправить нужно?
З.Ы. закоментил проверку версии БП и убрал подразделение организации(такого реквизта нет в документе) но как сделать чтоб выходили члены комиссии?
т.е у меня идет «Комиссия в составе: подтверждает использование для указанных целей следующих материалов:»;
а внизу вообще ничего . где копать?
дико извиняюсь, скачал для 8.1
и все таки как сделать в самом документе вкладку комиссия чтоб можно было сразу заполнить и не открывалась форма из обработки а сразу печатался акт?
это сообщение можно удалить
скачала. Очень понравилось. Единственное, что поправила у себя — ответственные выбираются из справочника сотрудники и их должность ставится автоматом. а так — супер
спасибо! очень нужная вещь! помогла
Спасибо, очень помогли!
Скачал — как вызвать доп форму?
Обработка не может быть прочитана текущей версией программы — почему?
Нужно скачивать файл относящийся к вашей версии платформы 1С. И далее, если не открывается, нужно один раз открыть файл обработки в конфигураторе, в момент открытия будет выполнена конвертация.
Добрый день! Она только на основании требовании-накладной или отчет пр-ва тоже можно указывать?