<?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='\
Скачал, попробовал для УСН на договоры аренды подключить Вашу печ.форму, но не получилось. Сообщение об ошибке:
Не удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (Выполнить): {(75, 2)}: Таблица не найдена «Документ.РеализацияТоваровУслуг.АгентскиеУслуги»
<<?>>Документ.РеализацияТоваровУслуг.АгентскиеУслуги КАК РеализацияТоваровУслуг
Это печатная форма для Бухгалтерии предприятия редакции 2.0, а не для 1.6
Выложил и для 1.6
Спасибо, теперь порядок!
Если нетрудно — добавьте для исполнителя указание должности.
скачала
не смогла прицепить в 1С бух 8.1.15.14 ред 1.6.25.6
пишет, что это не обработка или не подходит к данной конфигурации
вот так
Теперь добавил должности для формы 1.6, при этом меняется немного подвал, если не будет устраивать, пишите свои предложения. Я делал для того, чтобы длинные должности более менее помещались. А если эта функция не включена, то у формы прежний вид
+ форму 1.6 добавил для платформы 8.1
Для формы 2.0 добавлю позже
скачала сегодня еще раз
Что не так делаю?
1. сервис >дополнительные внешние обработки>добавить>выбираю скачанную обработку>открыть
и снова
выбранный файл не является внешней обработкой. Либо данная обработка не предназначена для запуска в этой конфигурации.
еще служебное сообщение
{Справочник.ВнешниеОбработки.Форма.ФормаЭлемента(189)}: Ошибка при вызове метода контекста (Создать): Ошибка загрузки документа.
Внешняя обработка не может быть прочитана текущей версией программы.
пробую выбрать допонительные внешние печатные формы
тот же резултьтат
не работает ваш акт
Какой файл качаете? Там их три, два из них для 8.2, а один для 8.1. Там все подписано
(8) виновата… недосмотрела… скачивала по основной картинке, т.е. платформу 2
спасибо за совет..
в благодарность , мож быть кому-то будет полезно:
1. скачать файл 8.1,
2. загрузить обработку в дополнитеоьные внешние печатные формы,
3. добавить ПРЕДСТАВЛЕНИЕ (выбрать реализацию товаров работ услуг),
4. дать наименование кнопке, например, АКТ УСЛУГ ИНФОСТАРТ,
5. открыть любой акт в журнале Реализация, нажимаете на печать , видите наименование АКТ УСЛУГ ИНФОСТАРТ, распечатываете
(8) можете еще добавить ИНН и КПП контрагентам по аналогии как в ТОРГ-12 ?
потому что, например, в СПб есть пять фирм с наименованем ОПТИМА
(10) Добавил ИНН и КПП к контрагентам. (6) В форме 2.0 сделал вывод подписей с должностями
(11) здорово!!!
молодец!!!
(12)
поставила плюс, но почему-то не вижу, чтобы он был учтен, мож быть он учитывается не сразу?
сделала, чтобы в акте были указаны должности, все получилось!
Параметры обработки<Задать параметры>
ИМЯ «ДОЛЖНОСТИ»
значение ИСТИНА
чтоб еще попросить? 😉
(13) Есть такое здесь глюк, я обновил Кэш, теперь плюс есть. Если что придумаете, пишите, я намерен сделать суперский акт выполненых работ, чтоб всех устраивал и ни у кого вопросов не возникало
Я ещё в акте, под строкой <В том числе НДС> вывожу отдельное поля, для «непонятливых» — Всего к оплате
Ибо были случаи, когда оплачивали только строку итого =)
(15) Интересно. Сделаю такое же, спасибо. У меня просто без НДС и обычно счет на оплату выписываю, я и не задумывался даже
Добавил акт для Комплексной автоматизации 1.1 + для нее сделал еще и возможность подключения к Поступлению товаров и услуг для печати акта за поставщика
(17) если можно, добавьте возможность пользоваться данной обработкой
1. для УТ для распечатки акта из «Реализации»
так как менеджеры создают акты именно в 1С УТ и мне приходится за них все переделывать в 1С БП, т.к. они ж делают типовой в 1С. А для «Реализации».
В 1С БП Ваша обработка ПРОСТО ОЧЕНЬ ЗАМЕЧАТЕЛЬНАЯ , НЕ СРАВНИТЬ с типовой в 1С.
2. для БП 1.6 возможность подключения к «поступлению товаров и услуг» для печати акта за поставщика.
пока что выдает сообщение:
«Не удалось сформировать внешнюю печатную форму!
Преобразование значения к типу Булево не может быть выполнено»
(14)
>Если что придумаете, пишите,
Вообще-то, всё уже давно придумано. 🙂
>я намерен сделать суперский акт выполненых работ,
>чтоб всех устраивал и ни у кого вопросов не возникало
Для этого нужна ещё преамбула, в которой указывается не только ФИО и должности подписантов, но и основания их полномочий. Если с самим текстом проблем у тебя не будет, то реквизита «Основание полномочий» в конфигурациях 1С нет.
Если хочешь, могу макетом поделиться, который действительно ни у кого вопросов не вызывает.
И вот ещё что… Ты бы разместил нормальные скриншоты, а то с замазываниями — как-то не комильфо. Уж больно неряшливый вид получается, который никак не соответствует «суперскому» реноме. 🙁
(15) +1
Это существенное замечание. Вот только по уму надо бы писать не «Всего к оплате», а «Всего к оплате, вкл. НДС». Кстати, в тексте суммы прописью НДС тоже надо обязательно указать.
> если не указан — «Без договора»
А можно не «Без договора» а наименование договора из поля «Наименование» договора
2. для БП 1.6 возможность подключения к «поступлению товаров и услуг» для печати акта за поставщика.
пока что выдает сообщение:
«Не удалось сформировать внешнюю печатную форму!
Преобразование значения к типу Булево не может быть выполнено»
Аналогично, но для 2.0 — выдает такую же ошибку!
Очень нужно подключение к «поступлению товаров и услуг» для БП 2,0, чтобы можно было распечатать акт выполненных работ за поставщика.
Да, для 2.0 подключение к акту за поставщика было бы очень интересно.
Как изменить шапку документа, т.е. название. Что бы было: «Акт оказанных услуг» вместо «Акт выполненных работ (оказанных услуг)» г. «
спасибо!!
При подключении к 1С 8.2 КА выдает ошибку «»Не удалось сформировать внешнюю печатную форму! Преобразование значения к типу Булево не может быть выполнено», подключал к документы «Поступление товаров и услуг». Подскажите, куда копать?!?!?
Цитата
bearcat пишет:
2. для БП 1.6 возможность подключения к «поступлению товаров и услуг» для печати акта за поставщика.
пока что выдает сообщение:
«Не удалось сформировать внешнюю печатную форму!
Преобразование значения к типу Булево не может быть выполнено»
Аналогично, но для 2.0 — выдает такую же ошибку!
форма нужная, но видимо придется допилить
очень нужная форма
Спасибо за акт, было бы замечательно если бы поттягивались реквизиты заказчика и исполнителя ИНН КПП и адрес
Благодарю за проделанную работу. Помогло.
минус пока не ставлю, но не работает, пишет:Не удалось сформировать внешнюю печатную форму!
Метод объекта не обнаружен (ПолучитьЧастьЗапросаДляВыбораСодержания)
/БП редакция 2.0 (2.0.29.10)/
Скачал с значка не ту форму.
Теперь всё работает. Отлично!
Большой жирный плюс и человеческое спасибо!
Редакция БП 2.0 работает замечательно, только фамилия контрагента не выводится почему-то. Можно поправить? И выравнивание вправо в ячейках с фамилиями сделать.
Насчет выравнивания вправо постараюсь сделать чуть позже, сейчас нет времени.
А на счет фамилии контрагента я не понял. Где не выводится? Если имеется в виду в подписях, то в описании публикацииhttp://infostart.ru/public/73176/ все это описано:
Добавлена возможность вывода должностей в подписях, для включения этой возможности в поле дополнительных параметрах (при подключении печ.формы) добавить параметр с именем «Должности» и булевым значением Истина/Да. При этом меняется подвал формы, сделал это для того, чтобы «длинные» должности более менее помещались, если есть другие предложения, пишите в комментарий.
Попробую прицепить в КА.
(34) нинас, только самое главное скачайте правильный файл
+1
спасибо!!! но всёж немного переделал под себя
Спасибо, сэкономила время )
Спасибо, пригодилась.
Спасибо большое, отличная форма. С отображением должности разобрался, а как сделать отображение логотипа? В модуле у Вас такой функционал предусмотрен, как правильно подключить?
(39) kivit, логотип, на сколько я помню, предусмотрен только в форме для БП 2.0 и сработает только на файловой базе, а настраивается очень просто:
1. В каталог информационной базы копируете файл изображения логотипа (рекомендую PNG или JPG).
2. В дополнительных параметрах печатной формы указываете новый параметр «Логотип» с типом строка, а значении имя файла изображения (или путь к нему относительно каталога информационной базы).
Если серверный вариант, то нужно немного переправить саму печатную форму. Если нужно, можете выслать изображение логотипа, я Вам сделаю. Делать универсальное решение, уже не вижу смысла, БП 2.0 доживает свои дни.
Спасибо, изменил печатную форму.