<?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='\
Вылезает ошибка:
БратьСуммыИзУчета = глБратьСуммыИзУчета<<?>>(Докум.ДатаДок, Докум.ДокОснование.КодОперации);
{C:PROGRAM FILES1CV771SBDBEXTFORMSPRNFORMSGSF2006.ERT(377)}: Функция не обнаружена (глБратьСуммыИзУчета)
БратьСуммыИзУчета = глБратьСуммыИзУчета<<?>>(Докум.ДатаДок);
{C:PROGRAM FILES1CV771SBDBEXTFORMSPRNFORMSGSF2006.ERT(379)}: Функция не обнаружена (глБратьСуммыИзУчета)
Тоже самое, блин ( Релиз 949
Обновился до 958 — все в порядке )
Все верно. так и должно быть.
в ТиС ИЗМЕНЕНИЯ В РЕЛИЗЕ 7.70.951
в Компл ИЗМЕНЕНИЯ В РЕЛИЗЕ 7.70.482 — ОПЕРАТИВНЫЙ УЧЕТ
«Отражение рублевого эквивалента взаиморасчетов без переоценки авансов»
«Согласно Приказу Минфина РФ №147н от 25.12.07 с 01.01.08 вступают в силу изменения ПБУ 3/2006 «»Учет активов и обязательств, стоимость которых выражена в иностранной валюте»».
Для операций по договорам в валюте или условных единицах с 01.01.08 сумма авансов засчитывается без переоценки.
Теперь проведение документов по взаиморасчетам после 01.01.08 выполняется с учетом изменений в ПБУ.
Проведение документов до 01.01.08 остается прежним.
Это цитата из документации 1С по обновлениям версий.
Кроме этого … в более свежие версии внесены еще несколько изменений.
вовремя, спасибо!
ТиС 7.7ред.9.2…поставил GSF2006 — ошибка(см выше)… обновился до релиз 958… получил вот такую небольшую проблему!
печать сф — при выборе в параметрах страницы: «портрет» после закрытия окна сф, 1С вновь возвращает в «ландшафт» и ни как нехочет сохранять выбранные параметры….как сделать так чтобы этого не происходило… причина? да просто экономия бумаги…))))
P.S. поможите…плиззз…
Версию обновил.
Учел поправку. Спасибо.
Плюс за то, что поставил для Всех, хотя разработка уже банальна.
Скажите, пожалуйста, господа, а как в ваших печатных формах учитывается порядок заполнения счёт-фактуры в случае выполнения услуг а не отгрузки товаров? По новым правилам тогда в графе «грузополучатель» и «грузоотправитель» должны стоять прочерки. Все так и есть?
Обработка делалась на основе «типовой» версии СчФ 1С.
Там, увы прочерка нет.
Если подкинете ссылочку на «прочерк», может будет и «прочерк», если удастся решить вопрос «совместного» использования СчФ для товара и услуг. Т.е. в одном документе будет и товар и услуга (напр. доставка).
Кстати, Lexeich (8) прав. 1С выпустила новые версии конфигураций и там учтены последние изменения СчФ. Так что данная обработка уже не актуальна.
Оставляю ее только потому что в ней есть дополнительный функционал. Может кому и сгодится.
Спасибо, не пришлось писать под старую базу (её не обновляли несколько лет:)
Только поставила первой в диалоге обхода кнопку «Печать», а то стояло «Автосохранение параметров»
Спасибо огромное!!!
класс, Юрыч, только добавь туда еще и СчФ 2011
все работает, спасибо большое!
Можно еще уту вот обработку до 2012 года №1137 обновить
У нас Главбух и иногда Руководитель пишутся не ФИО, а ФИ.
Это как то можно поправить?
И ещё не совсем верно отображается форма на аванс, на товар, на услуги.
Где-то нужны прочерки, где-то ещё что-то…
(15) nikodim2012,
«ФИО» или «ФИ» — серьезный вопрос (почти по-Гамлету)
причем, вы сами говорите «иногда». Как быть?
если руководство так сильно …. капризничает — поправить можно
в конфигураторе (в печатных формах) — это не сложно
а вот как быть с «иногда»? …….
что касается авансов ….
можно конкретней?
там, по-идее, в случае с авансом должны быть прочерки
в строке Грузополучатель
в табл. части код страны, «имя» страны, ГТД — либо пусто, либо прочерк
я не нашел законодательного указания что именно (прочерк или пробел)
если подкинете ссылочку — бузусловно поправлю
Пока не удалось понять, из-за чего пишется ФИ, вместо ФИО, у разных людей.
В предыдущей форме 451 всё нормально….
У нас бухи довольно привередливы, им прямо таки нужен выбор, что печатать — на аванс,
на услуги, на товар.
А вот по поводу заполнения они кинули мне ссылкуhttp://www.diadoc.ru/files/invoice/
И ещё сказали, что в вашей сф 2012 некоторые графы в шапке не совсем верно названы.
(17) nikodim2012, отличная ссылка. спасибо
по поводу имени «граф» — сегодня исправлю. утром поставлю обновление
по поводу ФИО ….. прошу простить, но … это хороший пример «некорректного» описания ошибки
если я правильно понял, в печатной форме иногда печатается Петров А.П. иногда Сидоров К. ?
если так, необходимо проверить в спр. сотрудники и физ.лица написание краткого и полного имени «правильной» и «неправильной» печати сотрудника.
чудес не бывает. по крайней мере в программе
она либо работает, либо нет
по поводу авансов …. придется еще «поковыряться» на сайтах
придется либо доказывать как это должно быть …. либо подстраиваться …
Да, вы всё верно поняли, насчет ФИО. Бух правда отчасти решила проблему:
«Нужно в самой 1С-
где уполномоченные лица -т.е
СПРАВОЧНИКИ — структура
компании — фирмы
там нужно занести
инициалы БЕЗ точек» и тогда всё печатается ок.
Но вот с точками — через одного человека, то ФИО, то только ФИ.
Насчет печати на аванс и на услуги — я так понял, бух знает,
что там должно быть, что где-то прочерки, где-то нули,
а где то — данные, в зависимости от того, на что
печатается(товаравансуслуги). Может, мне напечатать
сюда её эти мысли? Они могут помочь?
Она даже может скинуть форму, как должно быть.
В типовой С 7.7 Торговля и Склад релиз 973 (последний на сегодняшний день) при использовании печатной формы «Печать Счета-фактуры образца 2012 года с выбором грузоотправителя, грузополучателя» если идет подбор товара из разных партий не правильно формируется таблица — вместо нужного товара (номенклатуры)из второй партии влезает строка с товаром из первой строки, хотя в просто в печатно форме сейчас делает правильно — указывая одну строку, а ниже — в том числе перечисляет партии. А как в вашей форме это происходит?
Уважаемый автор, не дождавшись ответа скачала и проверила — у вас строки товара, подобранного из разных партий правильно формируется, но моя бух капризничает, что в строках в т.ч. не проставляются (не делятся) цены и налоги — можете мотивировать или она права:
Добавка шагрень Е/Р 166 кг 1.000 30-00 30-00 без акциза 18% 5-40 35-40
в т.ч. 166 кг 0.750 —— —— — —— — 792 Турция 10502070/270112/0000755
в т.ч. 166 кг 0.250 —— —— — —— — 792 Турция 10502070/1201312/0002332
День добрый
http://www.forum.mista.ru/topic.php?id=213327
Прошу простить за задержку с ответом (командировка 🙁 )
Что касается сути вопроса:
В «типовых» формах печати разбиение одной позиции товара с разными ГТД
проходит только по колонке количества и номеров ГТД
Итоговая строка находится перед строками разбивки.
Обязательность разбиения сумм в «детализирующих» строках,
мне не смогли подтвердить ни знакомые аудиторы ни знакомые бухгалтера.
Если Вашему бухгалтеру это удастся (доказательно !!!), может подавать в суд на 1С.
В противном случае, могу только процитировать
Прошла аудиторская проверка — заставили разбивать суммы в «детализирующих» строках…