<?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='\
как в обработке менять форму печати???, выводит по умолчанию и все
Нужно кликнуть в ячейке где указана печатная форма по умолчанию и появится список для выбора
(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) настройки можно сохранятьhttp://sttt.fatal.ru/opt.PNG красным обвел
(19) Я уже и сам сделал. Прощения конечно что влез. Убрал в строке
Объект.Печать(СтрокаКнопки.Имя, 1, НаПринтер, НаПринтер);
четвертый параметр «НаПринтер». Не знаю как в других конфах в КА у метода «Печать» у всех объектов три параметра: «Имя Макета»,Кол-во экзамп.,НаПринтер
После этого все заработало. Спасибо большое за обработку. Полезная очень.
(22) dagovich, «Убрал в строке четвертый параметр «НаПринтер»» — вот и отлично :0) постараюсь в следующей версии сделать чтобы и в КА работало
Чем функционально отличается отhttp://infostart.ru/public/19846/ ?
(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
При выборе документа выдает (Белорусская кофигурация)
Метод объекта не обнаружен (ПолучитьСтруктуруПечатныхФорм)
СтруктураВнутреннихПечатныхФорм = ДокументОбъект.ПолучитьСтруктуруПечатныхФорм();
Подскажи куда копать ?
Вот моя конфигурация.. в личку писать не могу сори) ни как не зачислят перевод((https://yadi.sk/d/vM0nkEqNW
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, Как вариант, можно поставитьdoPdf (Виртуальный принтер) при печати указать в настройках куда сохранять 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) Я не вижу никаких проблем, обработка доступна для скачивания.
https://infostart.ru/about/startmoney/) , если нет стартмани тогда абонемент необходимо купить https://infostart.ru/about/service/premium/
Стоит она 1 «стартмани» (