<?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) Не поняла шутки юмора… Что Вы имеете ввиду?
Цитата из ИТС, если Вы понимаете, что я имею в виду на этот раз:
Обработка ЗагрузкаДанныхИзТабличногоДокумента.epf находится в каталоге 1СITSEXEExtRepsUnireps8
Это по-существу. А тон вызван предчувствием появления у вас трех и более плюсиков за это.
>Можно ли считать дамой девушку
Все женщины делятся на:
— дам
— не дам
— дам, но не Вам
😉
Цитата из ИТС, если Вы понимаете, что я имею в виду на этот раз:Обработка ЗагрузкаДанныхИзТабличногоДокумента.epf находится в каталоге 1СITSEXEExtRepsUnireps8
(3) а, я так и думала! 🙂 Ну и что?? Просто интересно мне было самой такую штуку написать — вот я и написала :)))
А тон вызван предчувствием появления у вас трех и более плюсиков за это.
а вас что — завидки берут?? Так не мужское это дело, товарищ, чужие плюсики считать и эмоции отрицательные по поводу их количества растущего испытывать 😛
(5)Ай да молодца, девочка! Браво!
(4) ок. правильный вопрос: чем делится девушка с ИТСом? раньше, говорят, в парках девушки были с ВЕСЛОм, гипсовые. они никак не делились, поэтому их больше нету. а у нас есть. жизнерадостные от того, что тоже пишут.
Это недолго. Пока замуж не возьмут. Потом желание программировать у девушек пропадает напрочь.
(9) Не всегда. Знаю одну мадам, замужем. Мало того — муж крутой бизнесмен, и ей ваще работать не обязательно. Программит, ходит на работу — ей этого хочется
я вобще понять не могу, какая связь между желанием заниматься любимым делом (неважно, каким, например программированием) и личной жизнью… Опыт подсказывает, что одно другому ни капельки не мешает! 🙂
Достойно !!! Плюсуем !!!
«опыт подсказывает, что… не могу понять» 🙂 даже «я вообще не могу понять» 🙂
Чего пристали к девушке… или к мадам… или к мадмуазель… в общем к Махе 🙂
Если человек программирует и ему это нравится, то какая нахр..н разница парень это или девушка, пусть даже «ОбнажЁнная»???
Да и потом, у многих девушек логическое мышление развито намного лучше, чем у большинтсва парней…
Хотя, опять-же, какая к черту разница…
(13) Ну не скажи… Бог для того и создал женщин, чтобы:
а) к ним приставать
б) мужики не спились от счастья…
или б) — все таки была первоначальная задумка?…
А относительно логики… Все-таки такой дисскусии не место в теме разработки. А Маху никто не обижает (капелька иронии еще никому не вредила) и даже смирились, что она Обнаженная.
между прочим, никто не может утверждать, что этот учаснег — женскава полу
(15) я могу 😉
так она москвичка? ну…
(17) Вообще-то город в профайле указан 🙂
(13) 🙂
(15) Откуда такая неприязнь? Или вы знакомы? А нас дурите? 😉
понравилась обработка. в отличии от нескольких других сработала без дополнительного шаманства.
Полезненько… ThanX!
Подобный велосипед давно катается на дисках ИТС. Но и этот неплох, поставил плюсик.
подобный велосипед лайт-версия на 7.7 позволяет грузить и быстро соотносить «похожие» названия… (продемонстрировано на примере заявок загрузок покупателей)
http://www.infostart.ru/profile/174/projects/393/
.. спрашивается: а что нового в *-ке…? 😉
1C и Женщина = две вещи совместные! Плюс!
Умница, красиво и оригинально 🙂
Сделаю девушке приятно — оставлю комментарий!
Мдааа… Лучше-б я не смотрела эту обработку. Только расстроилась.
Некрасиво и неоригинально. Куча ошибок и ляпов.
Особый шедевр — выбор вида документа… Жесть. 🙁
Имхо в коде опреатор Выполнить лишний. Такой функционал можно реализовать и без него.
Например, вместо:
Показать полностью
можно написать:
Показать полностью
(29) люди смотрят на маху, как она пишет, а не на то, что она написала
А загружает ли он с группировками?
Согласен с Che
ОбнажЁнная_Маха исправь такую ошибку
У тебя метод НайтиПоНаименованию(<значение ячейки из Excel>)
Теперь такой момент, у меня в наименованиях товаров встречаються кавычки например (телевизор «Philips»)
метод НайтиПоНаименованию(«телевизор «P<?>hilips»») выдает ошибку …..
Продумай вариант замены кавычки » на две ковычки «»
сними с пароля модуль отчета, я его немного доработать хочу
(35)
Можно обойтись и без замены кавычек. Если отказаться от оператора "Выполнить". О чем говорилось в (29).
Код:
Показать полностью
Заменить на:
Показать полностью
Сделать бы еще поиск не только по Наименованию, но и по выбранному реквизиту.
Могут быть элементы с одинаковыми наименованиями, но с каким-то «ключевым» реквизитом.
Зачем закрывать модуль обработки..
я предполагаю, ничего сверхъестественного там нет.. 🙂
(39) А чтобы не видно было моего некрасивого и неоптимального кода! 😀
А как загрузить данные в Операцию(хотя бы в бух.учет) ?
Мммм… не понял, а почему справочники по наименованию? Имена ж не уникальны. Или я туплю?
+1
Жаль, что код модуля закрыт. Хотелось бы взглянуть, как некоторые моменты реализованы. Может что нить полезное почерпнул бы.
У меня почему-то не находит элементы справочника, надо загрузить 5500 номеннклатур в установку цен, может я что-то не то делаю? помогите плиз
тут все разбирают по делу или по полу ?
объясните как пользоваться пожалуйста(
Народ кто нить для 7ки подобное видел
на локальной восьмерке все работает на ура, а на сетевой выдает ошибку (может, это не от восьмерки зависит, я не знаю). Объясните, пожалуйста, как исправить.
{Форма.Форма(54)}: Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: Класс не зарегистрирован
ДокЭксель = ПолучитьCOMОбъект(ПутьКФайлу);
по причине:
Ошибка получения объекта COM: Класс не зарегистрирован
Люди! Объясните кто-нибудь как сделать, чтобы обработка работала!!
Ни фига не работает. привязка к наименованию тупиковый путь . Пробел лишний поставил и всё не работает. И коряво описание сделано. Без поллитра не разобраться. Если выкладываете , то хотя бы не такой сырой продукт.
В обновленной конфигурации 1с7.7. (7.70.165) ни обна из обработок по заполнению накладных из EXCEl не работает выдает ошибку (104) поле агрегатного объекта не обнаружено (ВИД) как исправить?
Очень нужна такая обработка, подскажите!
❗ Внимание! Пароль снят, доступ к телу открыт! Теперь всё в ваших руках, товарисчи!
открываю в 1с v8.1 говорит ошибка при вызове метода создать, даже в конфигураторе не открывается… :-/
Спасибочки +++
У армянского радио сросили: «Что общего у морских свинок и девушек — программистов?»
«Первые никак не относятся ни свиньям ни к морю, также как и вторые ни к девушкам ни к программистам» — ответило армянское радио. 😀 (Шутка!)
Спасибо!!!
Огромное спасибо! Обработка очень помогла. Самим писать времени не было, а тут очень вовремя попалась)
Как можно оставить девушку без внимания))), Спасибо девушке что она у нас есть.
спасибо за обработку. Использую ее в том виде какая есть, чего не хватает доделываем руками…
под новый эксел (xslsx) надо подшаманить строку соединения…
плюсану не скачивая
приятно делать девушке приятно
Спасибо, полезная весч, один раз попользовал, надеюсь что буду ещё, кстати товарищи дорогие, любимые, как заработать баллов, ато я всё просрал и тепреь не могу качнуть очень нужную весч)) Написанно, что чем больше напишешь — тем больше баллов накинут, короче надо по-больше потыкать по кнопкам, хотя нате вам анекдот, всё больше пользы))):
Стою в пробке, причем реально стою, минут 15 уже. От нечего делать начинаю головой крутить. Ну и замечаю, что левее стоит машинка, а в ней магнитола светится как у меня (я на джипе, чуть выше сижу). Заинтриговался. Достал пульт и выключил мужику магнитолу. Пауза, он ее включил. Я ему звук отрегулировал, каналы настроил. В общем, минут 10 мужика доводил до белого каления. Он аж панельку снял…
и есчо:
Мой приятель — любитель побороться за права пешеходов, ненавидит, когда водители нарушают правила, вечно ругается с ними и т.д. Прогуливаемся с ним однажды по тротуару, сзади сигналит «Ауди» — видно водила решил срезать, чтобы в пробке не стоять. Приятель, ни слова не говоря, отходит на газон и пропускает машину. Я его спрашиваю, чего, мол, ты такой тихий сегодня. Он, невинно улыбаясь: «Там метров через тридцать поворот и ступеньки».
очень надо импорт в тис 7.70.027 для украины из екселя
молодец!хорошая обработка!
Крутяк,можно теперь тз по заливке номенклатуры не делать)
Как раз занимаюсь загрузкой справочников в 1С из EXCEL. Так что очень помогла данная разработка. Спасибо.
сенк, за обработку
Спасибо, полезная весч, один раз попользовал, надеюсь что буду ещё, кстати товарищи дорогие, любимые, как заработать баллов, ато я всё просрал и тепреь не могу качнуть очень нужную весч)) Написанно, что чем больше напишешь — тем больше баллов накинут, короче надо по-больше потыкать по кнопкам, хотя нате вам анекдот, всё больше пользы))):
Реально посмешил, молодца!
Как то нужно было нечто подобное.
Спасибо! посмотрим что тут есть
А отличия от ИТСовской обработки есть или это одно и тоже.? А то чет не понятен этот момент. Написать его в заголовок
качнем посмотрим
Единственное что хотела добавить, было бы неплохо написать какую-нибудь обработочку, более менее универсальную по выгрузке табличных частей из документов. И выложить на сайте в одном архиве две обработки, так сказать для полной комплектации.
А такую же обработку, но из LibreOffice кто-нибудь видел? А то фриваре наступает…
Поставлю плюсик, т.к. по-моему я эту обработку использовала-заточила для себя 😉 Спасибочки.
Плиззз, если скачиваете — «плюсаните» рейтинг, оставьте комментарий… сделайте девушке приятно! 🙂
+504 — куда больше ???
Могу также «приятный» анегдот рассказать…
автору спасибо за старания
Низкое качество
Пишет — «Внешняя обработка не может быть прочитана текущей версией программы»
извините, после конвертации в конфигураторе открылось
Добрый день. Подскажите, что я делаю не так? Не загружается номенклатура
Здравия!
Спасибо аз обработку. Такой вопрос: инициализация колонок, строк и др. проходит правильно, но один из реквизитов ТЧ — ссылка на справочник и при выполнении обработки он не заполняется… Посоветуйте, что надо поменять.
почему в описании нет что это не управляемые формы ????
(85) 10 лет назад не было УФ
сейчас есть, очень большой труд написать 2 слова…