<?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='\
Да, действительно все как-то однотипно… просто и запаролено…
да и ошибки, как всегда — детские 😉
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{H:\_НАКОПИТЕЛЬОТЧЕТОВ.DIRВ-ПОМОЩЬ-БУХУ.DIR3ОТЧЕТ ПО ПРОДАЖАМ БУХГАЛТЕРИЯОТЧЕТ ПО ПРОДАЖАМ.ERT(90)}: Группировка ДатаДок;Группировка ТекущийДокумент;Группировка Товар без Групп; <<?>> ?(Контрагент = ВыбКонтрагент);
Запрос[15] : Неизвестая ошибка ‘?’
Шняга полная, плюсовать не буду! Принципиально! Потому как врет отчет нафиг! 😉
У меня всяких поступлений и отгрузок полным-полно, только ручными операциями — вот их-то и не рассматривает… а как бы было хорошо… а мне — плохо!
Другим — наверняка пригодится…
Взнос взнес комментом…
Остатки товаров.
1. позволяет выбирать группу, но при этом не выводит результатов в отчет.
2. а почему только количество? сумму… хочется…
Движение товаров.
1. не выводит если не выбран склад.
почему? — если эта аналитика не заполнена, тем не менее такие проводки имеют право быть… не удалось мне получить такой отчет… и опять же почему только количество? типа суммы в БУ — несущественно…?
… итого
(+) что в одном флаконе, работоспособно для большинства юзеров
(-) запаролено, недоделано для остальных юзеров.
+1 почти набежало.. чуток не хватило…
> Шняга полная, плюсовать не буду!
Ни хрена не шняга! Ошибка исправлена. ПЛЮСУЙ!!! А то, что детская — это точно, потому что отчет писался на заре моей юности 1С-ной.
> Остатки товаров.
Он таким задуман был, чтобы увидеть кол-во того, что есть на конкретной точке. Читай «Полное описание»: если оно не устраивает, то просто не используй. Смысл этих отчетов в чем: минимум универсальности для максимума оперативности по КОНКРЕТНОЙ, узкой задаче.
Хошь с суммой?… Щас, выложу!
Вот:http://www.infostart.ru/projects/index.php?id=447&ref=1584
О!
> Смысл этих отчетов в чем: минимум универсальности для максимума оперативности по КОНКРЕТНОЙ, узкой задаче.
//
Вот так и надо говорить сразу! а то тянешь из вас клещами…
У вас чувсвуется по точкам специализация идет — поделился с народом бы как организовано, где бяки, где гуды — было бы востребовано…
С суммами — в принципе нормально… вооружусь…
(+1) добрал все-таки…
> Вот так и надо говорить сразу!
А по-твоему, ссылка «Подробное описание» вверху этого экрана просто, оформительский изыск такой?
Хотя ОСВ воообщем-то то же самое дает, только без средней цены…
Кстати, есть у меня программулина по снятию паролей с отчетов. (Сам писал) Выложить чтоли здесь? 😉
>Хотя ОСВ воообщем-то то же самое дает, только без средней цены…
Угу. Опять же, смотри ОПИСАНИЕ! Там пишется, что все эти ведомости хороши, но только не для распечатывания, потому как много там строк. А у меня частенько директора малых фирмочек просят бухов распечатать остаток на складе. Вот тогда мой отчет и оказывается нужным им.
Выкладывай… или на мыло зашли мне…
+1 сойдет
говори пароль и рейтинг будет до потолка)))
Пароль …
В общем, как токо рейтинг будет достигать очередной пятерки (5, 10, 15 … ) — буду выкладывать без пароля очередной отчет, начиная с первого. Т.о., до остатков товаров без пароля осталось 2!
(Лублу поиздеваться над честными пользователями! 🙂 )
клади уже))
ЁЁЁлки!!! 🙂 Остатки товаров выложил БЕЗ ПАРОЛЯ!
Все здорого
Сенкс, пойдет для обучения) , люблю переписывать чужой код)
>переписывать чужой код
= изголяться 🙂
Блин! Еще +2 и придется движение товаров СДАТЬ! 🙂
Зачем в отчете по движению товара выводить товары с нулевым сальдо и без движения?
Можно легко поставить галочку, которая это отключает.
Вот, на фиг! Выкладываю движение товаров БЕЗ ПАРОЛЯ!!!
И кто меня за язык-то тянул? 🙂 Отчет по оптовым продажам — без пароля. НАТЕ…
На очереди — реестры?.. 🙁
А Чебурашка говорил: «Да, действительно все как-то однотипно… просто»
Народ-то не обманешь! народ — он понимат!!! УХ!!!!!!!! 🙂
Очень хорошие отчеты, но блин какой пароль?
А вот когда еще два раза кликнут по рейтингу, тогда он просто не понадобится уже для четырех из шести отчетов! 🙂
Спасибо
20… Вечером реестр выдам без пароля
Реестр поступления без пароля. Bitte!..
рассказать чтоли людям как пароль через блокнот снимается 😀
Плюсанул…. ;)))))
> рассказать чтоли людям
🙂
Оно отрыгнется потом… Ты придумай вот, как защитить эртэшку можно.
Пароли высланы…
О-Планет: конечноже отрыгнется… поэтому и нескажу 🙂 публичное изгнание с инфостарта итд.
а про защиту это к Альфу с его КЗК
В отчете «реестр оптовых продаж» д када сформировал все хорошо кроме того вы нет количетва проданных товаров для каждого товара(т.е. сколько всего раз допустим за месяц был продан товар) и общее количество продаж и цену лучше сразу связать с НДС а то потом сумму с НДС складывать приходится
УРЯЯЯ!!! Общими усилиями осталось с паролем только два последних отчета!
Признаюсь честно, очень приятно видеть общее ваше желание использовать эти разработки в своей работе. Ваше рвение в получении их без пароля вдохновляет! Возможно, еще немного посмотрю, и выложу что-нибудь вообще для общего пользования!
СПАСИБО ВСЕМ!!!
Приятно услышать, жду новых программ!
Ну, ОДЫН плюсик — и предпоследний отчет станет без пароля!!!
я начинающий ёзер как меня сын назвал работаю бухгалтером ,и благодаря сыну и вашим статьям начинаю понемногу вникать в суть ,оч.нужны статьи ,их читают и другие.Спасибо за работу ребята.
Это — всегда пожалуйста.
КСТАТИ… Рейтинг + 30 и остался под паролем только последний отчет! Кто сделает еще +5, чтобы весь комплект стал доступным не только для скачивания и использования, но и для любых изменений?
Вы меня просто спасли!!!
спасибо
Последний клик остался до полной свободы?
Лови последний без пароляhttp://rapidshare.de/files/34888967/_____________-__________________.ert.html
НЕ ПОНЯЛ, но все равно приятно.
Что ж. Поздравляю всех. Рейтинг 35 на, по сути, безделушку. А ведь сколько на Инфостарте по-настоящему классных разработок осталось незамеченными!
РЕЗЮМЕ: всеобщее оскудение нравов
Это как на Евровидении…
А Чебуратор, помнится, изрек: «Шняга полная, плюсовать не буду»! 😉 Нет, Ч., кризис — глобален!!!
+1 не за отчеты (я их не видел), а за маркетинг 😀
безделушки и востребованы… 😉
не адо морочиться с подстройкой под себя и пр…
поэтому и качают и юзают и плюсуют…
+1
Понравился отчет по продажам, добавил единицу измерения и покупные изделия (счет 41.4)
Ёлки! Рекламная акция завершена, а рейтинг еще плюсуют. Похоже у такого удачного проекта должно быть развитие, так что …
ЖДИТЕ ИНФЫ В ЭТОЙ ВЕТКЕ
Спасибо автору! Скачиваю для изучения. Я новичок.
+1
+
дабы нафиг не удалили
бум смотреть, учиться.
Спасибо.
СПАСИБО.
+1
Не пора бы пополнить копилку новыми отчетами? Пока плюсовать не буду! Жду новинок.
А как установить отчеты?
Скопировать в каталог информационной базы в папку ЕxtForms. Использовать меню программы, пункт «Сервис», «Дополнительные возможности», кнопка «Изменить», выбрать «Внести в список».
>O-Planet
>Что ж. Поздравляю всех. Рейтинг 35 на, по сути, безделушку. А ведь сколько на Инфостарте по-настоящему классных разработок осталось незамеченными!
Уже 57.
Вот-вот. Рядом лежит Новейший Отчет, который закроет все эти обработки с головой да еще место останется; скачиваний 4852, рейтинг — 31. Извините, это юмор или сатира?
И еще, признайся честно O-Planet, «1С умеет говорить!» (рейтинг 69) соизмерима по изяществу решения со всеми этими разработками кучей взятыми? А ведь идут почти ноздря в ноздрю… А относительно рейтинга… Если уж куча народа плюсовала ради получения пароля, то так им и надо, лентяям.
Мне самому забавно. Я раньше всякие рекламные компании придумывал, чтобы реферов привлечь, а теперь просто раз в три дня захожу и вижу, как оно стало с 40 до 45, с 50 до 60… Главное, что «в помощь бухгалтеру» можно в принципе уже не плюсовать: везде написано, что без пароля. А люди все равно ставят плюсы. Просто это называется: реклама заработала 🙂
Кто-то хорошо заметил, что система рейтингования на Инфостарте показывает скорее не уровень сложности разработки, а то, как она востребована. Мне кажется, это верное замечание.
Проанализировав рейтинг работ (не только моих), можно легко сделать маркетинговый вывод, в чем нуждается программист-разработчик 1С и как привлечь его внимание.
O-Planet !С Новым Годом ! Удачи Вам и исполнения всех желаний ! Воспользовалась Вашим широким жестом и скачала ‘ Реестр поступления’. Работает нормально. А не будете ли Вы так добры, что подскажете, как добавить в отчет ‘Документ основание’, где-нибудь под номером документа или 2-ой строкой. Очень надеюсь на Ваше БЛАГОРОДСТВО ! С уважением: vizik @pochta.ru
Как можно под Рождество отказать незнакомке из Таллина? Качайте. Если что не подходит — пишите.
Есть за что поставить +!
Получите, тов.O-Planet, распишитесь! 🙂
спасибо автору!
Спасибо !!!
спасибо мои бухгалтера будут рады..
Отличные отчеты
гуд! :))
Имел возможность скачать непосредственно сhttp://www.belkamag.ru
и оценить.Отозвалась Менеджер: Римма Шапирова !!! Отчёты НУЖНЫЕ !!! +5 или 5 с + !!!
Остатки товаров гляну как получаются, и остальное. Нужное дело делаешь…
Вкалывали всё таки чтоб роботы хочется…
Помогите, плиз, в отчете остатки товаров ввожу склад , в поле номенклатура ввожу номенклатура Товары нажимаю остатки и выводится ошибка:
Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура, , 1);
{D:DB_77EXTFORMSОСТАТКИ ТОВАРОВ БЕЗ ПАРОЛЯ.ERT(30)}: Поле агрегатного объекта не обнаружено (Номенклатура)
А что за конфигурация-то? Давай вот из чего исходить: более 10000 скачиваний. И ошибка — у тебя любимой. Это что-то да значит 🙂
Большое СПАСИБО!
Спасибочки!
Спасибо!
Альтруизм рулит. Спасибо!!!
СПАСИБО!!!!!!!
Большое спасибо.
Спасибо! Отчеты нужные.
Очень нужно.
Не удаляй ни за что.
Спасибо!
Спасибо!
Ух ты! Пожалуйста…
Мое «Спасибо» может показаться банальностью, но тем не менее:
Спасибо! 🙂
в отчете по продажам нужно в графе «сумма» указывать стоимость роеализованных товаров без НДС! В случае реализации импортных товаров прибыль получается с НДС, что не совсем удобно.
(86) Доработаешь? Высылай, выложу.
Остатки товаров (без пароля) — было бы неплохо бы иметь еще и колонку цена и соответсвено общую сумму
а то общее количетво есть — это хорошо, а общую сумму товаров группы нет
Добавил по просьбам трудящихся движение товаров для конфигурации 1С:Бухгалтерия 7.7 УСН
спасибо автору!
Спасибо, за отчеты. Очень нужны.
Не годится для Украины…
В отчете «Движение товаров для УСН» выявлена ошибка: нач. сальдо не считает. Пока не качаем. Посмотрю на днях…
Проблему, описанную в (93) исправил.
Большое спасибо автору!!!
+, А можно линк на паролесъемничек?))
(96) А не проще спросить в личку у мну обработку без пароля? 😉
ПС А, кстати, что тут с паролем осталось?
>ПС А, кстати, что тут с паролем осталось?
Здесь как раз все нормально, свои б вспомнить))
в поле номенклатура ввожу номенклатура Товары нажимаю остатки и выводится ошибка:
Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура, , 1);
{D:DB_77EXTFORMSОСТАТКИ ТОВАРОВ БЕЗ ПАРОЛЯ.ERT(30)}:_ Поле агрегатного объекта не обнаружено (Номенклатура)