<?php // Полная загрузка сервисных книжек, создан 2025-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='\
как в обработке менять форму печати???, выводит по умолчанию и все
Нужно кликнуть в ячейке где указана печатная форма по умолчанию и появится список для выбора
(2)
как видимо работает только в Бухе
Написано что работает в Бух и Торговле, а если в ЗУПе открыть будет работать?
(4)(3) не проверял в ЗУПе, возможно, что и там работает ) в УТ проверил все работает
предложение — добавить выбор принтера, т.к. отправляет на последний принтер, который использовался в базе, если принтеров больше одного, то уже крайне неудобно
А внешние печатные формы учитываются?
(6) хорошо, заявка принята :0)
(7) также и внешние печатает
Ура, так долго ждала такую обработку!! Спасибо автору!!
(9) Юлек я,
Очень приятно, что столько эмоций вызывает это творение :0) еще бы на плюсик жмакнули
Плюс автору за обработку!
Спасибо автору
Произошла досадная ошибка!!! Вчера обнаружил, что ранее загруженная обработка была абсолютно не рабочей и ведь никто не сказал!!! ))
Сейчас все работает и остались мелкие недочеты, позже поправлю как время будет.
ввел ошибочный адрес видеокаста забираем
Вот если бы еще сделать пакетную печать.
То есть комплектами печатать, например: ТОРГ12, АКТ и Счет Фактура, потом следующий документ и так далее
(15) marku, подумаю над этим
Попробовал на Комплексная автоматизация, редакция 1.1 (1.1.13.1) печать не пошла при печати выдает ошибку:
{Форма.Форма.Форма(163)}: Слишком много фактических параметров
Объект.Печать(СтрокаКнопки.Имя, 1, НаПринтер, НаПринтер);
Полез поковыряюсь внутрях!
И насколько я разобрался, во всем этом Вы так же не решили проблему указания конкретного принтера для встроенных печатных форм. Интересно это вообще решабильно…
(17) dagovich, в ошибке видно, что в модуле документа конфигурации Комплексная автоматизация в функции Печать(…) используется другое количество параметров, скинте заголовок функции «Функция Печать(Параметр1, …» посмотрю что можно сделать
Пришлось немного доработать, чтобы заработала на моей конфе, но однозначно автору — плюс. Для отдела оформления документации очень удобная штука оказалась. Выбирают документы и растусовывают их по разным принтерам (в одном — бланки строгой отчетности, в другом — обычная бумага). Конечно, сразу немного повозникали, что слишком много настроек, но потом оценили все преимущества.
(20) aleg, спасибо ;0) настройки можно сохранять красным обвел
(19) Я уже и сам сделал. Прощения конечно что влез. Убрал в строке
Объект.Печать(СтрокаКнопки.Имя, 1, НаПринтер, НаПринтер);
четвертый параметр «НаПринтер». Не знаю как в других конфах в КА у метода «Печать» у всех объектов три параметра: «Имя Макета»,Кол-во экзамп.,НаПринтер
После этого все заработало. Спасибо большое за обработку. Полезная очень.
(22) dagovich, «Убрал в строке четвертый параметр «НаПринтер»» — вот и отлично :0) постараюсь в следующей версии сделать чтобы и в КА работало
Чем функционально отличается от ?
(24) СергейКа, есть возможность параллельной печати на разных принтерах (время печати сокращается) и выбора печатной формы для выбранных видов документов перед групповой печати. позже и пакетная печать появится, не до этого пока
Попробовал на 1с:Предприятии 8.2, БП 2.0 Принтеров немного (один), но все работает , как и задумывалось!
В принципе, мне пока потребовалась только групповая печать, но остальное тоже посмотрел. Отбор по периоду немного не понравился, лучше бы если привязывался к рабочей дате (периоду)…Но это так, мелочь. Возможно при больших объемах и ассортименте обрабатываемых документов так удобнее. Ну и дорога ложка к обеду.Через месяц уже не так востребована будет. Ведь до конца года уйма времени!! Это 2012 неожиданно наступил, а 2013, он заранее предупредит!…))
Одним словом, спасибо!
Попробовал на 1с:Предприятии 8.2, БП 2.0 Принтеров немного (один), но все работает , как и задумывалось!
В принципе, мне пока потребовалась только групповая печать, но остальное тоже посмотрел. Отбор по периоду немного не понравился, лучше бы если привязывался к рабочей дате (периоду)…Но это так, мелочь. Возможно при больших объемах и ассортименте обрабатываемых документов так удобнее. Ну и дорога ложка к обеду.Через месяц уже не так востребована будет. Ведь до конца года уйма времени!! Это 2012 неожиданно наступил, а 2013, он заранее предупредит!…))
Одним словом, спасибо!
Еще раз пригодилась, делал формирование пакета документов для отдела выписки. Все действительно удобно и позволяет сэкономит кучу времени при нормальной настройке.
(28) aleg, спасибо
Буду тестировать. Спасибо
(30) materiy_boec, жду отзывов)))
Ошибка при выборе печати справочника Сотрудники:
{Форма.Форма.Форма(1127)}: Поле объекта не обнаружено (СотрудникиОрганизаций)
ДокументОбъект = Документы[ВидДокумента].СоздатьДокумент();
При выборе справочника не выдает на странице «Обработка» выдает только доступные команды «Пометка удаления» и «Родитель».
Если уж пишите что для 8.2 то стоило бы указать что на обычных формах.
Кто-нибудь встречал групповую печать на управляемых формах? Желательно для УНФ.
За ссылку буду благодарен!
(34) там она и не нужна, открываете список документов, отбираете нужное, выделяете необходимое и печатаете себе на здоровье. единственное там нет параллельной печати на различных принтерах
(35) Это понятно. Нужно под определенный случай переделать, в виде обработки
(36) что за случай?
УТ ред. 10.3.21.1 (8.2.16.368)
Попробовать печатать в окно документы Реализация ТиУ. Ничего не печатает. Не вывел в окно ни одной из предусмотренных форм — либо ошибка либо ничего.
?
какую ошибку выдает? нужен полностью текст ошибки. печать в одно окно возможна только для внешних печатных форм. для остальных нужно вносить изменения в конфигурацию, чтобы функция Печать возвращала таблицу.
(38) СуперСтар, сейчас попробовал, действительно не выводит таблицу. буду разбираться.
Проверено на КА 1.1.30.2. В поле выбора для счета-фактуры выданного допускает только формы 84, 575, 283. Нет формы 1137.
Если выбрать предварительный просмотр перед печатью, то сообщение [B]Печать недоступна!Изменился набор реквизитов[/B. В результате ничего не выводит
(35) вообще, бывает, что нужна. Пример, касательно БП: в конце некоторого периода бухи формируют пакет документов — счет, акт, счет-фактура. В БП 2.0 это можно сделать, а в 3.0 и УНФ — ни разу. Можно однотипные вывести, да, а вот разные — нет. А в этом и смысл.
(42) Yureckaya, не совсем однотипные, есть списки по нескольким видам документов. нужно посмотреть, помню, что список открывало с несколькими видами документов и причем можно было пакетную печать осуществлять. правда, это было на УТ))) посмотрю в БП, может действительно реализовать такую обработку и для управляемых форм
Спс большое!
А пакетная, правда, будет?
(44) Hellgga, под обычное приложение нет. Пора на управляемые переходить)
хотя, если будет предложение сделать за оплату, то готов обсудить
Добрый день.
М.б. я что-то не понимаю (юзверь, одним словом) — меня на этот вопрос подвиг Ваш ответ на (42)… Про БП 2.0
С уважением,
Ольга
(46) Hellgga, это мы обсуждали конфигурации на управляемых формах, такие как УТ10, 11, БП3, УНФ. Надо подумать, может и сделать…) стимула особого конечно нет…))) если бы кто профинансировал…
🙂 см. в личке
Выдает ошибку : {Форма.Форма.Форма(160)}: Значение не является значением объектного типа (ИмяПринтера)
ТабДокумент.ИмяПринтера = ИмяПринтера;
Конфигурация УПП 1.3.40
(49) reboot, по какой то причине:
не возвращает Табличный документ, необходимо посмотреть, что есть в Расшифровка, а лучше смотреть ДеревоМакетовПечати в строке 144. У вас последняя версия обработки? Эту ситуацию переделывал, вроде как месяц или пару назад. Менял в модуле формы Форма, в процедуре ПечатьДокументов, стр 205, старый вариант за комментировал, если поменять местами, может заработает. Жду результатов
Прям хочется попробовать вашу обработку, похожа на то, что нужно.
Что ж, возможно при использовании и выявятся какие либо недочеты, но пока, весьма довольна, спасибо.
(52) Ламия, (52) Ламия, Охотно выслушаю пожелания
Подскажите, можно ли настроить обработку, чтобы на один лист А4 печаталось 2 документа — разных, имеется в виду(для экономии бумаги, естественно)? Спасибо.
(54) В Параметры страницы не пробовали в разделе Экземпляров на страницу выбрать 2?
Попробовал открыть в КА 1.1.33.1, платформа 8.2.18.109
Ругается
Ошибка при выполнении файловой операции ‘D:GroupPrint.epf’
по причине:
Неверный формат хранилища данных
Скачал повторно все ОК
Я выбираю нужные формы для печати, задаю разные принтеры, но перед печатью каждый раз выскакивает окно Печать со списком принтеров и надо оттуда выбирать принтер, иначе не печатает… Задала 10 документов и 10 раз выскочило это окно 🙁
Может, это потому, что у нас сеть?
(58) Hellgga, интересно)) не тестировал в сети. так понимаю, это системное окно, выбор принтера появляется?
(59) Да, оно. И получается, чтобы что-то напечатать, надо по новой уже в нём выбирать принтер на каждый док, указанный в таблице обработки. 🙁
(60) Hellgga, хорошо, в ближайшее время, попробую воспроизвести ситуацию и поправить
Иногда требуется для разных клиентов печатать разный комплект документов. Было бы неплохо добавить количество экземпляров определенной формы и где-нибудь хранить эту настройку по каждому контрагенту.
(62) МимохожийОднако, как время появится сделаю)
МимохожийОднако, поддерживаю, нужная штука указание количества экземпляров печати.
Добрый день. В БП 8.3 работает?
(65) mirupakovki, день добрый, работать не будет, надо делать. Если интересно, тогда пишите на почту: st2009st (собака) qip (точка) ru
При выборе документа выдает (Белорусская кофигурация)
Метод объекта не обнаружен (ПолучитьСтруктуруПечатныхФорм)
СтруктураВнутреннихПечатныхФорм = ДокументОбъект.ПолучитьСтруктуруПечатныхФорм();
Подскажи куда копать ?
Вот моя конфигурация.. в личку писать не могу сори) ни как не зачислят перевод((
p.s. пробовал писать на st2009st (собака) qip (точка) ru ((
(68) Hasper, скорее всего оно для российских конфигураций..
(68) Hasper, на выходных посмотрю
При выборе одного принтера — не печатает на него, печатает на принтер по умолчанию.
1С:Предприятие 8.2.12.75, конф.Альфа-Авто 4.1.01.10 при открытии выдаёт ошибку:
{Форма.Форма.Форма(154,11)}: Процедура или функция с указанным именем уже определена (НапечататьДокумент)
Процедура <<?>>НапечататьДокумент(Объект, НаПринтер, ИмяПринтера, ТабДокументБуфер, КоличествоЭкземпляров, ПараметрыДокумента) // 2: ТекстКнопки,
{Форма.Форма.Форма(236,91)}: Слишком много фактических параметров (НапечататьДокумент)
НапечататьДокумент(Объект, НаПринтер, ИмяПринтера, ТабДокумент, КоличествоЭкземпляров, <<?>>ПараметрыДокумента); // 2: ТекстКнопки,
(73) kornasto, уберите лишний параметр и будет работать. найдите и посмотрите сколько параметров у этой процедуры в вашей конфигурации
(73) kornasto, либо за 1000р сделаю сам, кинете на qiwi кошелек и сделаю красиво
{Форма.Форма.Форма(177)}: Значение не является значением объектного типа (ИмяПринтера)
ТабДокумент.ИмяПринтера = ИмяПринтера;
не печатает.
Название принтера:
HP LaserJet P3011/P3015 PCL6
(77) b-dm, какая конфигурация?
Добрый день! Подскажите, пожалуйста, а эта обработка не сохраняет на диск в формате pdf? Ранее я скачивала нужную обработку, но она не работала в КА, вчера нашла эту, решила, что это доработка той, но, кажется, ошиблась, скачала, а нужной функции нет-(((. Задача одним кликом сохранить пакет документов (например, все аванс. отчеты за период в формате pdf, для последующей распечатки в другом месте и выбранные страницы).
(79) Uplifted, Как вариант, можно поставить при печати указать в настройках куда сохранять PDF файлы. Какая версия платформы и конфигурации используется?
(80) Доброй ночи! Ответила в ЛС
Здравствуйте.Скачал Вашу обработку GroupPrint.epf 21.03.2013.Сейчас попробовал её применить для печати доп. печ. форм справочника Сотрудники в ЗУП (2.5.91.1).Выбрать доп. форму удается, но при попытке печати получаю сообщение-Печать недоступна! Изменился набор реквизитов. Что можно в ней доделать ?
Здравствуйте!
Нажимаю печать, выходит сообщение: «Значение не является значением объекта типа(ИмяПринтера)
нажимаю подробно, выходит следующее сообщение:
{Форма.Форма.Форма(177)}: Значение не является значением объектного типа (ИмяПринтера)
ТабДокумент.ИмяПринтера = ИмяПринтера;
Есть возможность исправить эту ошибку?
Спасибо.
Присоединяюсь к infokaz,ошибка таже,если используется ВПФ,обычное формы печатает нормально,конфигурация КА релиз 1.1.70.2,платформа 8.3.8.1675
(83) infokaz, какая конфигурация?
(84) Eleet что есть ВПФ?
(78) УПП
(86) какая версия УПП?
ВПФ — внешняя печатная форма, да ошибка таже(Значение не является значением объекта типа(ИмяПринтера)),происходит,как я заметил только при печати внешних форм КА 1.1.83.2 (8.3.9.2170).
Добрый день! Обработка в УТ 10.3 на 8.1 работает?
Вроде должна — это обычные формы
(90) доброго дня ! скажите, есть возможность скачать эту обработку сейчас в 2019 году?
спасибо и сколько она стоит сейчас, при условии что 4ка вроде как уже снята с обслуживания
Корректировка
(91) если вам нужна помощь для внедрения, тогда можно обсудить план работ и заключить ГПХ, не обязательно касаемо обсуждаемой обработки
(91) Я не вижу никаких проблем, обработка доступна для скачивания.
Стоит она 1 «стартмани» (, если нет стартмани тогда абонемент необходимо купить