<?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) Есть ли демо-версия или бесплатная ?
2) В чем отличия коммерческой версии от демо или бесплатной?
Демо-версия отличается от полной только тем, что не позволит сформировать отчёт за период позднее 31.12.2005 г.
Небольшая инструкция по запуску:
Распаковываем архив (полностью, с каталогами)
Открываем файл Start_URBI.ert (это стартер, он инициализирует Decoder.dll и запустит саму обработку)
Далее в рамке «Сохранение/загрузка настроек» жмём кнопку «Открыть…», находим каталог Examples, там лежит несколько уже готовых настроек. Открываем, формируем, смотрим. Потом задаёмся вопросом, а что ещё можно? Открываем инструкцию в формате MS Word читаем, пробуем создать настройки, задаём вопросы, получаем ответы…
В случае, если в вашей базе нет данных ранее 01.01.2006, могу порекомендовать попробовать на демо-конфигурации (от 1С).
наверняка надо поставить [+1]
кстати.. есть у меня парочка действительно грамотных бухов — с ними очень комфортно работать… так вот — все они обходятся набор штатных отчетов типовой бухии…
Как бы тебе сказать, Че… Для составления баланса, достаточно 3 отчётов из состава типовых и комплект регламентных. А можно и ещё проще, комплект журналов-ордеров и главная книга. В принципе, даже калькулятор можно заменить счётами…
Но вот незадача, современный менеджмент — он отходит от совка, он хочет получать максимум информации, причём в удобном именно ему виде. Всякие там ОСВ по субконто — это не совсем то, что они хотят видеть. «Такой же, только с перламутровыми пуговицами» — моя горькая присказка в то время. В итоге я написал вот этот конструктор. К нему порядка 50 (!) настроек. Яйца варёные, яйца жаренные, омлет, в мешочек, мешочек омлета, омлет в мешочке, жареный мешочек, омлет варёный в мешочке с яичной скорлупой.. в фас и в профиль. Открою секрет, изначально, НАВИГАТОР был всего-лишь оболочкой для этого отчёта (чтобы настройки хранить в иерархии и с описанием). На любой запрос бухгалтерии, где не употреблялось слово «остатки», я давал ответ в течение 0.5- 1 часа. «На любую задницу с резьбой…»- вот моя присказка после создания этого конструктора.
Возможно, я перемудрил, возможно оно никому не нужно, возможно полёт моей мысли страшно далёк от народа.. Судить вам.
Не, совершенно все правильно… У меня тож самое — только в Торговле — хотелки рождаются с бешенной скоростью… Навигатор еще докуручу чуток — и буду запускаться… А по бухии — у меня проще… В принципе у клиентов тоже что-то интересное вертится не на бухииНо у кого-то не так — им твой конструктор самое оно.
Только какие-то уроды — поставили….
По заявкам радиослушателей
Демо-версия имеет несколько вариантов ограничений (на выбор):
— Ограничение по периоду (только за период до 01.01.2006 г.)
— Искажение суммы (случайным образом все суммы в отчёте умножаются на 0.001, 0.01, … 10, 1000)
— Сокрытие суммы (если в числе встречается цифра «5», в отчёт выводится слово «Демо»)
На украинском ПУБе — показала обработка большую дулю. Нихрена не работает. Бабло платить не за что.
Но идея хороша. Готов помочь в доводке на украинских конфах.
А можно текст дули? У меня к сожалению нет украинских конфигураций. Вообще старался делать универсально, но допускаю возможность ошибки.
Как и предполагалось, проблема скорее всего в использовании типовых настроек. Настройки в архиве — только для типовой бухгалтерии! В других конфигурациях они не будут корректно работать (ну разве что конфигурации почти идентичны).
Попробуйте задать свои настройки, даже простейшие… Я уверен, что у вас получится.
Научил обработку работать с периодическими реквизитами справочников. (Периодические реквизиты берутся на дату операции).
Вставил «защиту от дурака» на разделитель учёта.
Все хорошо, но надо выбрать просто третий вариант демо:
«Сокрытие суммы (если в числе встречается цифра «5», в отчёт выводится слово «Демо») «
3 варианта демо-версии всяко лучше чем 1 вариант…
Я вот просто из принципа похвалю, а то всё ТиС да ТиС кругом….
А я больше БУХать люблю
+1
(15) Наливай — буду участвовать.
скачал и…. без поллитры не разобраться
>скачал и…. без поллитры не разобраться
Не забывайте, что azernot в первую очередь (как мне кажется) мыслит, как бухгалтер.
Я вот тоже всегда мыслю сначала как инженер-механик
А вы спрашивайте! Я ж отвечу, никуда не денусь!
А кто-то может и инструкцию почитать, я там пример создания конкретной настройки привёл.
может какой-нибудь деморолик сделаешь, могу прогу дать
Я конечно не откажусь от проги по созданию демо-роликов.
Могу предложить ещё вариант: вы озвучиваете условия-задание, я делаю настройку и прикладывю комментарии. Когда настройка сделана по вашим условиям, мне кажется проще будет понять прнцип работы обработки. Понятно, что условия должны быть более-менее универсальные.
Надо бы шаблоны разложить по папкам, к какой типовой конфигурации они подходят.
Если бы количество подходящих конфигураций было бы отлично от 1, я бы наверное так и сделал. Все настройки сделаны для типовой Бухгалтерии. (есть правда одна для Украинского ПУБ, но это на мой взгляд, лишь оправдание к посту №9.
Круто! Вот это ролики!
Только можно узнать кодек? 🙂
Итак, разжившись нужным софтом, я приступил к формированию видеокурса…
Задачу я себе поставил простую:
сформировать настройку отчёта о движении безналичных денежных средств на рублёвых счетах, при этом:
— движения между рублёвыми счетами учитываться не должны,
— движения по статьям «Сдача наличных в банк» и «Поступления наличных из банка» учитываться не должны
— формировать отчёт надо в тысячах рублей;
— группировать отчёт надо по разрезам деятельности, показать отдельно поступления и списания по каждому разрезу, расшифровать движения по статьям, контргентам и договорам с контрагентами.
— динамику показать помесячно, поквартально и подвести итог за весь период.
Сразу оговорюсь, при создании видеороликов были допущены несколько ошибок.
КОНКУРС НА САМОГО ВНИМАТЕЛЬНОГО! Найдите их! Найдите их все!
А теперь задание для тех, кто ещё не устал от меня: создайте подобную настройку для всех движений денег (по кассе, по рублёвым и по валютным счетам). Внутренние движения учитывать не надо, переводы в пути тоже.
Также необходим дополнительный разрез — Банк (не счёт, а именно банк!), для движений по кассе, по этому разрезу показать «Касса».
Результаты вывести в рублях и сводно по всем валютам.
Для переоценки валюты в статьях показать «Переоценка валюты» (Поступления, финансовая деятельность).
Тому кто первым КОРРЕКТНО создаст такую настройку — респект и уважуха.
Ролики в формате Xvid Mpeg4 Codec
(27) Подари софтяру, или ссылку дай 😉
Есть несколько плееров, которые проигрывают почти всё, независимо от установленных кодеков. Один из них VLC media player (бесплатный):http://www.videolan.org/vlc/
Теперь бы сконвертировать всё в .3gp и можно будет делать лозунги типа таких:
«Закачай «Настройку периодичности» себе на мобильник!» 😉
Нужен презентационный деморолик показывающий возможности программы на конкретных отчетах, т.е. нужно показать, что формирует получается в результате.
Обучающие видеоролики — это хорошо. Но нас больше интересует демострация возможностей, на конкретных примерах.
Нужны уже разработанные сложные отчеты. Формирование и быстрое редактирование.
Главный вопрос: что можно получить с помощью этого конструктора, а не как получить?
Что можно получить с помощью пилы и топора? Кто-то скажет дрова.. Кто-то скажет стул, стол, мебель.. Кто-то скажет сарай, баню, дом… Кто-то скажет отпиленные и отрубленные конечности и головы…
Конструктор есть конструктор. Можно сказать что топор рубит, пила пилит. Можно объяснить как рубить и как пилить.. Можно приложить немного нарубленных-напиленных изделий. Однако сами по себе ни топор, ни пила не сделают ни дощечки.
Для того, чтобы представить что может обработка нужно представить (или хотя бы попытаться представить) как она работает. Всё зависит от воображения и потребностей.
Я готов повториться, обработка позволяет получить любоую информацию об оборотах по любым проводкам произвольно сгруппированную в строках и с произвольной периодичностью в колонках.
Что касается сложных отчётов… Сложные отчёты делаются с учётом особенностей предприятия. Сложные отчёты не могут быть универсальными. Поглядите пример отчёта о доходах и расходах — вот вам сложный отчёт.
Поймите — это конструктор! Отчёт делается в конструкторе исходя из поставленной задачи. А вы предлагаете набросать отчётов, чтобы посмотреть не рашает ли один из них стоящей задачи.. Шиворот-навыворот всё.
P.S. Счётчики скачиваний демо-роликов наглядно демонстрируют кому они нужны 🙂
Замкнутый круг: Администратор понимает принцип работы обработки, но не может проверить конструктор, т.к. у него нет задач. Бухгалтер имеет кучу задач, но не обладает знаниями чтобы понять принцип работы обработки…
(26) Сразу оговорюсь, при создании видеороликов были допущены несколько ошибок.
При настройке периодичности используется неделя. При выводе результатов — неделя отсутствует.
(33) ну. Ещё?
В отборе проводок показано только два отбора, должно быть четыре.
В отборе проводок используется первое субконто, надо — второе.
Умница, poppy! Самая серьёзная ошибка в (36), наглядно демонстрирует необходимость аккуртоности в заполнении настроек. 2 отбора только потому, что в демо-конфигурации почему-то есть поступления из банка в кассу по Д51… В реальной жизни так не должно быть.
ещё 1 отличие не найдено… (даже не ошибка по сути, но имеет место быть, ищите..)
При заполнении условий группировки «Разрез деятельности» показано только одно условие по 51 счету. Второе условие может быть по виду второго субконто.
Абсолютно верно!
Мадам, позвольте замереть в глубоком пардоне! (с)
Если вы ещё и создадите настройку по условиям описанным в (26) мой пардон будет наиглубочайшим а поза непоколебима. В любом случае, респект вам!
— Ограничение по периоду (только за период до 01.01.2006 г.)
— Искажение суммы (случайным образом все суммы в отчёте умножаются на 0.001, 0.01, … 10, 1000)
— Сокрытие суммы (если в числе встречается цифра «5», в отчёт выводится слово «
Ну должно же быть какое-то ограничение в демке 🙂
Вот я и дал ограничение на выбор.
Сейчас, по прошествии нескольких лет после написания этой обработки, случайно запустил посмотрел… Да-а-а-а… И ведь было же у меня время и желание написать ТАКОЕ. Фундаментальный труд.
Фактически это СКД из 1С 8.х для 1С 7.7.
За жалкое поделие 5000 рублей. 1С-ники такие 1С-ники(**пые и жадные)
Не взлетела на Мисте темка с предложением беспатного доступа к этой обработке 🙁
Ну что ж, пусть остаётся как было. Альтруистический порыв пресечён на корню 🙂
Да, если кому нужна подобная обработка формирующаяся по данным регистров, готов обсуждать требования и ценник 😉
(43) обгадить можно кого угодно. Можете лучше? Сделайте и выложите бесплатно, будет Вам хвала и почет.
(43) Ага, жалкое поделие 🙂 На коленке, за 20 минут, любой накатает 🙂
P.S. Качал хоть?
Использую и рекомендую
Полная версия обработки за SM.