<?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='\
Спасибо. Думаю материал будет полезен людям которые только пробуют разработку по IOS.
Хотел бы помочь рядом замечаний, думаю можете их перепроверить и включить в статью.
1) «Необходимо правильно ввести данные для подключения к компьютеру с ОС iOS» — не обязательно оно. Если Вы осуществляете перенос проекта на виртуальную машину файловым методом.
2) Для обновления конфигурации не обязательно каждый раз пересобирать приложение сборщиком. Выгрузите хмл мобильной конфигурации и закиньте прямо файловым методом в Ваш проект хCode (папка Templates в проекте) переименовав 1cema.xml в conf.xml
Даже перезапуск xCode не требуется. Просто перекомпилить.
3) Сертификаты подписи безплатного акаунта отзиваються примерно +/- 1 месяц. Ну у меня как то так вышло. По этому долго тестировать не выйдет.
(1)
1. Согласен, в данном случае можно обойтись и без этого.
2. Спасибо за замечание
3. У меня почему-то больше 7-ми дней не живут они. Я имею в виду сами тестовые приложения на мобильном устройстве.
3. Так и есть, сертификат временный. Попробуйте его востановить на портале разработчиковпортале разработчиков
Там статусы меняются. Не уверен будет ли возможность на бесплатном аккаунте.
Периодически они могут приостанавливаться или блокироваться. (по жалобам и времени)
(3) А можно, пожалуйста, поподробнее про восстановление сертификатов, и вообще про получение сертификатов? Столкнулся с тем, что в сети очень мало информации по сборке 1С на яблокофоны, а все чаще клиентам с яблоками хочется «пощупать»..
В целом для нас xCode делает все сам. Создает автоматом подпись и сертификат в рамках выбраного провижин профиля.
У меня после открытия проекта при попытке собрать вываливается ошибка:
ld: warning: ignoring file /Volumes/Work/XcodeProjectTest/F2/1cem.o, missing required architecture x86_64 in file /Volumes/Work/XcodeProjectTest/F2/1cem.o (2 slices)
ld: entry point (_main) undefined. for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Может кто подскажет решение? проект чистил — не помогает.
(6) На самом телефоне запустилось. Вопрос снят.
(7) а как на сам телефон то вытащить, если оно не скомпилировано?(7)
(8) подключить к маку, выбрать его в Xcode и скомпилировать. Приложение само перенесется на мобильное устройство
Только обязательно ставь мобильную платформу свежую. В сборщике я не ставил галочку «Собирать ipa» — у тебя появится архив. Распакуй — внутри проект. Запусти его. В списке устройств на котором будет запуск после того как подключишь телефон проводом — появится твой телефон в самом верху списка устройств. Выбираешь его и запускаешь — он сам установит на телефон приложение и запустит его. Там еще нужно включить твой телефон в список устройств для разработки, но это уже не к этой теме
А может кто подскажет, как установить prjios_client.zip на ipad? 1С мобильный клиент для подключения к web-серверу 1С?
У меня после сборки приложения на устройстве не отображаются шрифты/текст в колонках табличной части. Кто нибудь сталкивался с таким, как решали?
(12) вы шрифты какие-то специфические поставили?
(13) нет, все типовое, ед. менял только размер.
(13)
Подскажите как быть с такой ошибкой?
(16) в моей публикации (в PDF файле) эта ошибка рассматривается
(17) Я скачал Вашу публикацию. У Вас рассматривается не этот вопрос. в (16) вопрос про ненайденное устройство. Я тоже столкнулся с этой проблемой. XCode не видит iphone. Настройки USB в VMWare менял. Подскажите пжл, как решить эту проблему?
(18) Вот вырезка из файла публикации. Проблема может быть только на стороне VMWare.
(19) Я менял порты. Это не помогло
(20) в моем случае получилось так:
— На VMWare стояла настройка на USB 3.0, мобильное устройство подключил к USB 3.0. Ничего не работало, писало ошибку с драйвером.
— На VMWare стояла настройка на USB 2.0, мобильное устройство подключил к USB 2.0. Все заработал.
(20) Вам выдается какое-нибудь сообщение в VMWare при подключении мобильного устройства?
И вы пишете что не видит XCode. А сам Mac OS видит ?
(21) Сообщение от VMWare не выдается. Может это дело не в оригинальности кабеля? Но ITunes на основной ОС видит устройство.
(22) Нет, шнур тут не причем. Вот то что никаких сообщений не выдается это конечно плохо.
Подробно рассказывать не буду, так как это не один раз публиковали на инфостарте. Напомню лишь важные моменты:
А где найти эти публикации? Не нашел как с самого начало и до конца настроить сборщика под IOS. Не подскажите где можно найти?
Всем привет. Пытаюсь собрать приложение для iOS системы но вылезает ошибка:
Ошибка создания каталога кеш-файлов (для мобильной платформы): C:Usersolegdownloadsplatform80312046
Кто-нибудь может подсказать что это за ошибка, и в какую сторону копать?.
(25) скорее всего прав нет на создание каталога
(26) Спасибо. Так и есть.
Всем привет. После сборки мобильного приложения на IOS и последующем запуске на Iphone запускаеться приложение но с пустым списком информационных баз.
В конфигурационном файле ibases прописано:
[Мобильный клиент]
Connect=ws=»http://192.168.16.7/my-base»;
UpdateURL=97282424-870b-11e8-8136-02342341.xml
MobilePublicKey=
На сколько я понимаю после сборки приложение должно сразу запускать нужную базу а не предлагать ее выбрать из списка. Кто-нибудь знает почему так происходит?
Каким образом выполнить компиляцию приложения для IOS с помощью сборщика до конца, не прибегая к костылям в xcode? Минус этого подхода что получается очень длинная цепочка операций чтобы компилировать свое приложение и смысл использования сборщика страдает. Видимо автор предложил свой костыль?
(29)
купить лицензию разработчика IOS. В результате чего сборщик вам выдаст готовый файл приложения.
(29)
Пишите с нуля, вам никто не запрещает.
+ этого подхода заключается в том, что мобильная платформа 1С очень сильно облегчает разработку приложения.
+ этого в том, что это 1С, со своей спецификой бизнес решения. Собственно поэтому и все так и делается.
Соглашусь что это очень неудобно.
А можно перенести себе на мобильную платформу типовую конфигурацию 1с, типа 1сРозница?
(31) Весь функционал нет, только часть (очень малую часть)
(32)
насколько малую ;)? Кассовый функционал к примеру можно? Продажи, учет скидок, интеграция с ККТ через БПО, ? Или проще будет с нуля что-то своё простое написать кассовое, только для продаж?
Требуется консультация и помощь не могу скомпилировать проект в XCode 10. Опыта не хватает. Естественно за вознаграждение.
Контакт для связи admin собака it-ltd.ru
(34) Используй 9-ю версию.
На данный момент то что делает сборщик приложений 1С не работает в 10-ой версии Xcode.
(35) А где её скачать?
(36) тутhttps://developer.apple.com/download/more/
Добрый день. Сборщик выдает такую ошибку:
CommonModule.MobileApplicationBuilding.Module(314)}: Выбранное мобильное приложение не может быть собрано для ОС iOS, т.к. следующие внешние компоненты не собраны для этой ОС.: ДрайверШтрихМККТ54ФЗ от 30.10.2018 15:25:58, ДрайверСканкодСканерШтрихкода от 30.10.2018 15:25:58, ДрайверВерсияТККТ54ФЗ от 30.10.2018 15:25:58, ДрайверАТОЛККТ54ФЗ от 30.10.2018 15:25:57, ДрайверScanPortУстройстваВвода от 30.10.2018 15:25:57, ДрайверRightScanУстройствоПечати от 30.10.2018 15:25:57, ДрайверRightScanУстройстваВвода от 30.10.2018 15:25:57, Драйвер1ССканерШтрихкода от 30.10.2018 15:25:57
С чем это может быть связано?
(38)
Видимо нужно гуглить по этому тексту. С такой ошибкой не сталкивался. Могу лишь предположить, что указанные внешние компоненты не могут в принципе работать в мобильной ОС.
Проверьте внешнюю компоненту на признак того что она может быть использована в iOS
Дело в том, что это типовое приложение 1с унф, там добавлено пару реквизитов только. В типовом то все эти драйверы присутствуют и есть же мобильное приложение под ios.А в интернете ничего похожего не нашлось, вот и решила тут спросить.
Вот сборка под iOS, правда с платным аккаунтомhttps://www.youtube.com/watch?v=UKJ76BNaIqE