<?php // Полная загрузка сервисных книжек, создан 2025-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='\
А измерение контроля БУ НУ ПР ВР слабо забацать?
В ранних релизах КА и УПП был отчет сравнения БУ и НУ. Потом убрали, но пользуюсь. Плюс за творчество
Мне понравилось, как раз такой обработки не хватало для наглядности.
Плодотворно, но… у РАУЗ есть Отчет в котором можно это настроить, что будет несколько корректней.
Упс! орфография страдает
Отчет на компОновке не шифрованный
(4) Константин, Вы наверное имеете ввиду отчет от регистру учета затрат. Это хороший отчет, жаль только что бухгалтера смотрят оборотку и 1с-ники никак не сделают так, чтоб данные по регистру Учета затрат один в один совпадали с данными бухгалтерского и налогового учета. Кстати отчет расшифровывается по всем 3 субконто, но последовательно. А настройками компоновки можно расшифровать сразу по 3 субконто. Есть и нюансы, но о них потом… если у Вас не очень измененный план счетов и нет добровольного страхования, то Вы его не заметите)))))
Только поставили задачу сформировать такой отчет и на тебе))
Спасибо.
А как решается вопрос с отсутствующими счетами в БУ или НУ? Все показываются? Отчет еще не смотрел..
(8) Там конечно запросы объединяются, т.е. ничего потеряться не должно, но в моем отчете одному Счету НУ соответствует один счет БУ, это может быть у Вас не так. Ну и порядок субконто в БУ и НУ должен совпадать.
(9)
как быть у меня бух 25.01 а в налоговом 25.01 25.02. То-же самое с 26.01 бух и 26.01. и 26.02 НУ. Данные по 25.02 и 26.02 по налоговому учету вообще не выводятся.
(10) Правильно, так и было задумано. Вы же формируя оборотку в бухгалтерии (а не в УПП) не видите отдельно счета бухгалтерского и налогового учета. Счета у Вас только бухгалтерского учета, значит счет налоговой 25.02 будет соответствовать бухгалтерскому счету 25.01 туда и должна попасть сумма оборота по налоговому 25.02.
А можно ли дополнить этот отчет
выбором списка Организаций?
Можно ли увидеть Суммы по счетам по нескольким Организациям и с расшифровкой по всем одновременно
Очень нужна оборотно-сальдовая ведомость по счету в УПП с детализацией по дополнительным .значениям и расшифровкой
(14) Марина, напиши конкретнее, что нужно
Мне нужно, чтобы отчеты были как в бухгалтерии.
Например, у меня есть на сотрудниках доп.свойство (регистр значениесвойств объектов)
или на подразделении,
чтобы группировки шли по этим реквизитам (отбор тоже).
При этом надо переделать минимум 2 отчета
— оборотно-сальдовая ведомость
— обороты по счетв
Т.к. из 1-го вызывается второй. Согласна заплатить разумную сумму.
1-й отчет оборотно-сальдовая ведомость по счету
(17) Это целый проект, который выполнять не менее 30 часов, даже с учетом того, что дернуть исходники можно из ERP Управление предприятием 2.0.
Я дергала из бухгалтерии. Работает, но есть проблемы с настройками и т.д.
Так сколько может это стоить?
А кстати В ERP два плана счетов?
(20) Один, как в бухгалтерии
(19) 1000 рублей в час 30 часов, получается 30 т.р.
Это нереально.
Будем пользоваться тем, что в я написала. Может по временем я доработаю
(24) Марин, я конечно понимаю, что все советуют не менять типовую конфигурацию, но на мой взгляд в твоем случае проще создать реквизит у самого объекты и перенести туда данные с твоего регистра значениесвойств объектов и всё будет хоккей.
Я так сначала и делала. Но сейчас уж слишком много возникло таких ситуаций. Программа на 70% переделана.
скачала, если субсчета добавлены, то некорректно показывает)
Связь бухгалтерский и счет к налоговому должна быть один ко многим в регистре СоответствиеСчетовБУиНУ. Если многие ко многим, тогда увы…
Установил, но есть ошибки. Не могу понять зависимость, но например показывает обороты по счетам, которых нет даже в плане счетов. А также не показывает обороты по дополнительно введенным субсчетам. И огорчение, что при детализации не позволяет выйти на документы, формирующие обороты, как в стандартных отчетах. И не строит карточку счета. Видимо, разработчиком это и не планировалось.
(29) rodger, Уже второй человек пишет, что по добавленным субсчетам не работает, но у меня то работает.

ссылка
Вот пример
. пришлите что ль базу посмотреть. Расшифровки действительно не доделал, т.к. по ним очень много вопросов возникало, пример как допиливать расшифровки есть во втором файле — «ОборотноСальдоваяБУ_НУ_для_УПП с расшифровкой (только вставлять в конфигурацию)», но это только пример, он нуждается в доработке.
Добрый день!
Очень удобный отчет, но хотелось бы пользоваться расшифровками. Когда планируете доработать?
У нас выдается ошибка при расшифровке:
{Отчет.ОборотноСальдоваяБУ_НУ_для_УПП.Форма.Управляемая.Форма(151)}: Ошибка при вызове метода контекста (ПолучитьФорму)
ФормаОтчетаРасшифровки = ОтчетРасшифровки.ПолучитьФорму();
по причине:
Интерактивные операции недоступны
У нас стоит режим совместимости интерфейса: Версия 8.2. Разрешить Такси
1С:Предприятие 8.3 (8.3.6.2390)
Управление производственным предприятием, редакция 1.3 (1.3.66.2)
(31) Tegord, отчет дорабатывать уже не планировал в связи с активным переходом организаций на erp 2.0