<?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='\
Что нового? Форматы ценников? Или отбор номенклатуры? Чем лучше/проще/быстрее, чем все предыдущие ценники?
(1) Форматы ценников, добавлен штрих-код
> Нажать кнопку Пуск -> Выполнить и ввести команду «regsvr32 D:BASE-1CBARCODE.OCX»
> вместо «D:BASE-1CBARCODE.OCX», нужно указать ваш путь до компоненты «BARCODE.OCX».
Не легче в обработке в процедуре ПриОткрытии() прописать нечто следующее:
Попытка
КомпонентABC = СоздатьОбъект(«BARCODE.BarcodeCtrl.1»);
Исключение
стрИмяФайлаКомпоненты = «BARCODE.OCX»;
КомандаСистемы(«regsvr32 «»»+КаталогИБ()+стрИмяФайлаКомпоненты+»»»»);
КонецПопытки;
Проще всего — взять у Трактора алгоритм формирования/отображения ШК без шрифтов и ВК
самый маленький ценник у меня не в пикселях, а вразмерах этикетки типа 32 на 19 мм
ПечНаименование = ТекЭлем.НаименованиеДляЦенника;
{\SERVER1EXTFORMSPECHATCENNIKOV.ERT(271)}: Поле агрегатного объекта не обнаружено (НаименованиеДляЦенника)
как быть?
(6) Обработка предназначена для 1С:Торговля и Склад 7.7 редакции 9.2, если вы используете отличную от заданной конфигурации, то обработка работать не будет. Проверьте в карточке номенклатуры поле «Наименование для ценника», если у Вас такого поля нет, обработка работать не будет.
(7)»…Обработка предназначена для 1С:Торговля и Склад 7.7 редакции 9.2″
— открваем типовую ТиС 9.2 — к примеру последний(!) релиз 960 — и где мы там найдем «Наименование для ценника»????
Тогда хотя бы в описании обработки может быть стоит добавить — внесите реквизит в справочник, или другое нименование стоит использовать?
у мена 1С:Торговля и Склад 7.7 редакции 9.2, релиз я думаю не имеет значения. Нет такого поля (наименование для ценника) в наименовании товара.
(8)(9) Исправил «Наименование для ценника» на «Наименование»
Нужно добавить возможность выбора фирмы. И если мы выбираем тип цен, то для чего нам снова предлагать выбор справочника? Так же и при выборе ТМЦ. Нужно доделать, может многим пригодиться.
(11) Добавлена возможность выбора фирмы для печати на ценнике. Выбор справочника исправлено.
Спасибо ВАМ большое!! перерыл тут все, корректно заработала только ваша компонента.
😀 Спасибо БОЛЬШОЕ!!! Наконец-то получил то, что хотел.
Спасибо. То что надо.
Прошу помощи с установкой, ни хрена не получаеться, если можно пошагово кто-нибудь опишите. 😥 Спасибо!
Не выводит на печать, поле товарные ценники пустое, где допустил ошибку подскажите ❗
Форма.Закладки.УстановитьЗначение(2, Врем,?(глМножественныйФильтрЗадан<<?>>(ТаблицаМФ)=1,»(!) «,»»)+»Множественный фильтр»);
{E:MYDOCPECHATCENNIKOV.ERT(45)}: Функция не обнаружена (глМножественныйФильтрЗадан)
Форма.Закладки.УстановитьЗначение(2, Врем,?(глМножественныйФильтрЗадан(ТаблицаМФ)<<?>>=1,»(!) «,»»)+»Множественный фильтр»);
{E:MYDOCPECHATCENNIKOV.ERT(45)}: Неопознанный оператор
ВыбФирма = глЗначениеПоУмолчанию<<?>>(«ОсновнаяФирма»);
{E:MYDOCPECHATCENNIKOV.ERT(136)}: Функция не обнаружена (глЗначениеПоУмолчанию)
глПриСменеСтрокиТаблицыМФ<<?>>(1,ТекСтрокаВТаблице,Контекст); // записываем изменения если они были
{E:MYDOCPECHATCENNIKOV.ERT(141)}: Процедура не обнаружена (глПриСменеСтрокиТаблицыМФ)
НетОш = НетОш * глФильтрПоПеременнойЗапроса<<?>>(ТаблицаМФ, «Номенклатура», ВыбТМЦ, «ВыбТМЦ», ТекстЗапроса, , «СвойстваНоменклатуры»);
{E:MYDOCPECHATCENNIKOV.ERT(248)}: Функция не обнаружена (глФильтрПоПеременнойЗапроса)
ПечЦена = глФРМ(Запрос.Цена, ВыбТипЦен.Валюта<<?>>);
{E:MYDOCPECHATCENNIKOV.ERT(272)}: Недостаточно фактических параметров
глПриСменеСтрокиТаблицыМФ<<?>>( 0, 1, Контекст);
{E:MYDOCPECHATCENNIKOV.ERT(403)}: Процедура не обнаружена (глПриСменеСтрокиТаблицыМФ)
глПриСменеСтрокиТаблицыМФ<<?>>(1,ТекСтрокаВТаблице,Контекст); // записываем изменения если они были
{E:MYDOCPECHATCENNIKOV.ERT(417)}: Процедура не обнаружена (глПриСменеСтрокиТаблицыМФ)
глДобавитьВТаблицуМФ<<?>>(ТаблицаМФ,»Справочник»,»Номенклатура», «Номенклатура», «По номенклатуре»);
{E:MYDOCPECHATCENNIKOV.ERT(479)}: Процедура не обнаружена (глДобавитьВТаблицуМФ)
глДобавитьВТаблицуМФ<<?>>(ТаблицаМФ,»Справочник»,»ЗначенияСвойств», «Номенклатура», «По свойствам номенклатуры»);
{E:MYDOCPECHATCENNIKOV.ERT(480)}: Процедура не обнаружена (глДобавитьВТаблицуМФ)
Видимо, не совсем уже и универсальная обработка.. 🙁
Что ето он пишет
Если глЕстьРеквизитМнЧ(«Номенклатура»,Докум.Вид()) = 0 Тогда
{Обработка.ПечатьЦенников.Форма.Модуль(390)}: Значение не представляет агрегатный объект (Вид)
А можно сделать выбор товара в приходе?
Как вставить штрих код в ценник в 1С:Торговля и Склад 7.7 7.70.877
помогите pci911@yandex.ru
(21)
1. цена вопроса?
2. посмотри как сделано в типовой ТиС 9.2
Опишите пожалуста по подробней как регистрировать BARCODE.OCX» а то у меня вобще пустой лист выходит если можно то на мыло 1c.ru@mail.ru
Опишите пожалуста по подробней как регистрировать BARCODE.OCX» а то у меня вобще пустой лист выходит если можно то на мыло 1c.ru@mail.ru
В командной строке запустить команду: regsvr32 BARCODE.OCX
Путь к BARCODE.OCX надо прописать…
Помогите пожалуста с обработкой никак не могу дать ей толк я не силён в програмировании
Какая конфигурация используется?
все отлично работает.
Спасибо, клиентам очень понравился ценник со штрих-кодом среднего размера.
Спасибо, пригодится в хозяйстве.
Спасибо, очень помогло
блят!!! ебаные админы, жлобы , нах!!!! ввели какую то валюту сайта!!!! раньше хоть по одной разработке в сутки можно было взять… Пяздой не подавитесь ??? infostart.ru всегда уважал за доступность и помощь в вопросах 1С.
А ща блеать аж противно заходить на страницу жлобов ! ЖАЛЬ… Ну оч. жаль расставаться с Вашим ресурсом. Удачи Вам и процветания !!! Счастье не всегда в бабле, на своем примере — я всегда делюсь инфой и разными полезностями с остальными юэерами бесплатно и только этому рад, что могу помочь хоть чем-то и хоть в каком-то вопросе…
Пока ! С уважением Makkao.
блят!!! ебаные админы, жлобы , нах!!!! ввели какую то валюту сайта!!!! раньше хоть по одной разработке в сутки можно было взять… Пяздой не подавитесь ??? infostart.ru всегда уважал за доступность и помощь в вопросах 1С.
А ща блеать аж противно заходить на страницу жлобов ! ЖАЛЬ… Ну оч. жаль расставаться с Вашим ресурсом. Удачи Вам и процветания !!! Счастье не всегда в бабле, на своем примере — я всегда делюсь инфой и разными полезностями с остальными юэерами бесплатно и только этому рад, что могу помочь хоть чем-то и хоть в каком-то вопросе…
Пока ! С уважением Makkao.
Я с тобой полностью согласен, жлобы
Спасибо, понравились ценники и мне и руководству
Печать ценников Торговля+Склад, редакция 9.2
скачал файлик раз архивировал вставил
c:Documents and SettingsUserXPРабочий столторговляDBExtForms\r
потом в номенклатуре жму вн. ценники выходит тот же самый стандартный ценник
в ценнике так и не магу разобраться который день сижу
1 описание -есть
2 розничная цена
3 оптовая цена
4 код товара
5 дата
6 штрихкод
7 картиночка—тоже надо но не так критично
этикетка штих кд и краткое название
подскажите кто сможет
спасибо кстати за работу а тут часто на вопросы отвечают ? или денюшку нужно платить
ребяты может кто подскажет вроде не трудный вопрос но не выходит
(34) Наверное, нужно положить в PrnForms
Может быть это в чем-то поможет
http://infostart.ru/public/67695/
…ам спасибо за помощь—вроде разобрались запечатало,но
не хватает одной вещи нужно чтобы в ценнике печаталось оптовая цена и розничная
если есть кто умельцы добавить только код программный
в модуле сами подрисуем формы
спасибо за помощь тем кто откликнется
и с праздниками 1с знатоки
Спасибо за обработку, сделано отлично…
Классная и удобная вещь — спасибо!
Спасибо, очень нужная вещь для нашей торговой организации оказалась.
Самый нужный ценник со штрих-кодами, было бы классно, если бы еще и шртих-код тут же автоматом проставлялся
отлично