Расшифровка по Основным средствам для расчета налога на имущество по 2-му и 3-му разделам декларации "Авансы по налогу на имущество".




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?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='\

69 Comments

  1. Slovar

    Почему только авансы по налогу на имуществу? По году не работает что ли?

    Reply
  2. Slovar

    Поле не найдено «СтавкиНалогаНаИмуществоПоОтдельнымОсновнымСредствамСрезПосл­едних.ДвижимоеИмуществоПодлежащееНалогообложению»

    СтавкиНалогаНаИмуществоПоОтдельнымОсновнымСредствамСрезПосл

    Reply
  3. vik2006

    (2) Slovar,

    Какая у Вас конфигурация?

    Reply
  4. vik2006

    (1) Slovar, Работает по любому периоду. Заточена только по Регламентированному отчету «Авансовые платежи по налогу на имущество»

    Reply
  5. Slovar

    Нужна была расшифровка, за 2014 год, Отчет находился в ред 2.0 (релиз 64, по-моему) . С клиентом удаленно связывался.

    С 2015 клиент был переведен на 3.0, поэтому 2.0 не обновляли, может на последних версиях будет работать нормально.

    Временно в запросах закомментировал недостающие реквизиты , в принципе результатом доволен…спс

    Reply
  6. vik2006

    (5) Slovar, Пожалуйста.

    Reply
  7. tomzel

    пользоваться вашим отчетом совершенно невозможно. настройки неактивны. отборы и группировки не сделаешь(

    Reply
  8. a-m-gv

    Скачала. Понравилось.

    Можно за денежку добавить 2 колоночки: Дата принятия к учету и Группа ОС (Первая, вторая или какая там).

    Еще хотелось был, чтоб щелкнул и карточка ОС открылась…

    Расценить данные пожелания пжл. Буду ждать.

    Reply
  9. vik2006

    Нужно уметь пользоваться отчетами, написанными на СКД, все там это можно сделать, просто нужно знать как. Если не знаете, то ищите обработку, сделанную на основе Универсального отчета. Мой отчет на СКД. Купите Хрусталеву и почитайте.

    Reply
  10. sevstroitel

    Не работает в КА. а написано что работает. При формировании пустое окно и нет тех настроек какие показаны на скриншотах. В верхней строке не активны кнопки настройки отчета.

    Reply
  11. vik2006

    Русским языком было написано: «Тестировалась на УПП 1.3, но должна работать в БУ, БУ КОРП 2.0, КА, БАУ и БАУ КОРП». Спросите у своих программистов. Кнопка «Настройки» доступна и не будет, поскольку формирование запроса идет программно из кода модуля формы.

    Reply
  12. kanalex

    Сразу при открытии:

    Ошибка в схеме компоновки данных

    по причине:

    Ошибка получения информации набора данных

    по причине:

    Ошибка в запросе набора данных

    по причине:

    {(26, 48)}: Неверные параметры «Перечисление.СостоянияОС.ВведеноВЭксплуатацию»

    СостоянияОСОрганизаций.Состояние = ЗНАЧЕНИЕ(<<?>>Перечисление.СостоянияОС.ВведеноВЭксплуатацию)) КАК СостояниеОС

    Reply
  13. vik2006

    (12) kanalex,

    Какая конфигурация?

    Reply
  14. smile2009

    (12) kanalex, Подтверждаю ошибку. Конфигурация Бухгалтерия 2.0, редакция (2.0.65.9)

    Reply
  15. a-m-gv

    При использовании нашла 2 ошибки:

    1. ошибка в отчете дублирует и ошибку в рег.отчетах Расчет ав.пл. по имуществу и Расчет налога на имущество — дата принятия к учету (состояние ОС) берется дата ввода остатков, а не дата принятия к учету. Если остатки ввели 31.12.14, а ОС введено 01.12.12, оно отражается как приобретенное после 01.01.13г.

    2. Балансовая стоимость и износ отражается на рабочую дату, а не на конечную дату формирования отчета.

    Reply
  16. rndwork

    Добрый день!

    А не планировалось обновление с учетом изменений от марта 2016 года?

    у меня сейчас БП 2.0.65.23.

    Reply
  17. ol_2004@mail.ru

    Спасибо, отчет помог

    Reply
  18. yamawa

    Автору респект! Хорошо бы еще расшифровку 210 строки.

    Reply
  19. sstar90

    Спасибо.

    Исправил ошибку :

    {(26, 48)}: Неверные параметры «Перечисление.СостоянияОС.ВведеноВЭксплуатацию»

    СостоянияОСОрганизаций.Состояние = ЗНАЧЕНИЕ(<<?>>Перечисление.СостоянияОС.ВведеноВЭксплуатацию)) КАК СостояниеОС

    и взлетело на БП 2.0.66.3

    Reply
  20. Actgal

    (20)

    рные параметры «Перечисление.СостоянияОС.ВведеноВЭксплуатацию»

    СостоянияОСОрганизаций.Состояние = ЗНАЧЕНИЕ(>Перечисление.СостоянияОС.Вве

    Скачала файл Расшифровка с изменениями, ошибка та же.

    Reply
  21. vik2006

    Значит в вашей конфигурации нет этого перечисления. Читайте в аннотации — тестировалось на 1С УПП. Обратитесь к вашим программистам 1С, они изменят на нужное перечисление в коде обработки.

    Reply
  22. EZENAZ

    Если тестировалось на УПП зачем пишите что должно работать на БП. Та же ошибка: Ошибка в схеме компоновки данных

    по причине:

    Ошибка получения информации набора данных

    по причине:

    Ошибка в запросе набора данных

    по причине:

    {(26, 48)}: Неверные параметры «Перечисление.СостоянияОС.ВведеноВЭксплуатацию»

    СостоянияОСОрганизаций.Состояние = ЗНАЧЕНИЕ(<<?>>Перечисление.СостоянияОС.ВведеноВЭксплуатацию)) КАК СостояниеОС

    Еще и 3 sm берете. Почему платим деньги и нужно еще своих прграммистов теребить. Скачивалось для БП 8.2

    Reply
  23. vik2006

    (23) Потому что, мадама, для БП тоже есть разные конфигурации, если она у вас не пашет на БП версии 3.0, то это еще не значит, что она не работает на более ранних версиях. А по хорошему такая обработка, если делать во франчайзи и для конкретного предприятия стоит не меньше пяти тысяч. Так что сиди и радуйся, что ты взяла ее за 3 sm, т.е. всего за 50 рублей. И за такие деньги можешь по полной нагрузить своих программистов, платят им достаточно. Кстати, в данном контексте надо писать «пишЕте», т.е. что делаЕте. Ты сначала грамоте научись, потом мне указывай что мне писать в описании.

    Reply
  24. EZENAZ

    сам ты «мадама»… а не программист с большой буквы

    Reply
  25. vik2006

    (25) В дискуссии в стиле «сам дурак» я не участвую. Не опускайся до уровня базарной бабы, МАДАМА.

    Reply
  26. EZENAZ

    в том то и дело что участвуешь )))

    Reply
  27. vik2006

    (27) Подобные тебе достойны только того, чтобы пнуть побольнее, жаль что словесно. Брысь, дура, если уж не понимаешь вежливого обращения.

    Reply
  28. sstar90

    alina71 на письмо от (23.05.2017 16:13) : внес изменения, на БП 2.0 (2.0.66.29) заработало

    Reply
  29. rukawizin

    Будет ли обработка с учетом новой формы декларации от 13 июня 2017г? Сейчас дает сообщение

    Ошибка в запросе набора данных

    по причине:

    {(223, 69)}: Поле не найдено «СтавкиНалогаНаИмуществоПоОтдельнымОсновнымСредствамСрезПосл­едних.ВидИмущества»

    СтавкиНалогаНаИмуществоПоОтдельнымОсновнымСредствамСрезПосле­дних.<<?>>ВидИмущества КАК ВидИмущества,

    релиз УПП 1.3.91.2

    Reply
  30. vik2006

    (30) А шо, появилась новая форма? А какое она отношение имеет к предлагаемой обработке? Обработка же не формирует эту форму, а просто в виде отчета выдает необходимые данные, которые просто дополняют эту форму и никуда не отсылаются. Разве это требует каких-либо изменений? По поводу ошибки смотри выше, там я где-то писал как избавиться от проблемы.

    Reply
  31. rukawizin

    После обновления УПП 1.3.91.2 обработка перестала работать

    Выдает сообщение: Ошибка в запросе набора данных

    по причине:

    {(223, 69)}: Поле не найдено «СтавкиНалогаНаИмуществоПоОтдельнымОсновнымСредствамСрезПосл­­едних.ВидИмущества»

    СтавкиНалогаНаИмуществоПоОтдельнымОсновнымСредствамСрезПосле­­дних.<<?>>ВидИмущества КАК ВидИмущества,

    Видимо что-то изменилось в конфигурации, ставки имущества.

    Reply
  32. rukawizin

    Изменился макет СтавкиНалогаНаИмуществоПоОтдельнымОсновнымСредствам . Добавлены коды вида имущества и КБК.

    Reply
  33. vik2006

    (33) Изменения внесены, можно качать обновление.

    Reply
  34. vik2006

    (33) Макет чего? Это произвольный отчет, не входящий в обойму Регламентированных отчетов. Он дает просто расшифровку статей Регламентированного отчета «Авансы по налогу на имущество…» и все. Ошибку открытия я исправил. Персонально для тебя добавил эти поля с КБК и Кодом вида имущества. 😉 Качайте.

    Reply
  35. Svetllaya_11

    Доброго времени суток!

    Раньше пользовалась Вашей обработкой совершенно нормально.

    Видимо, после обновления, пошла нестыковка.

    Бухгалтерия предприятия, редакция 2.0 (2.0.66.32)

    Выдает ошибку

    {ВнешняяОбработка.ЛьготируемоеИмущество.МодульОбъекта(777)}: Ошибка при вызове метода контекста (Выполнить)

    Запрос.Выполнить();

    по причине:

    {(78, 73)}: Поле не найдено «СтавкиНалогаНаИмуществоПоОтдельнымОсновнымСредствамСрезПосл­едних.ВидИмущества»

    СтавкиНалогаНаИмуществоПоОтдельнымОсновнымСредствамСрезПосле­дних.<<?>>ВидИмущества,

    Подскажите, что в этой ситуации можно сделать? У меня уточненки за последние три года, вручную это делать — просто застрелиться!

    Заранее благодарна.

    Reply
  36. vik2006

    Качайте обновление, все исправлено под новую конфигурацию.

    Reply
  37. kleorn

    Скачали обработку.

    БП_3.0.5116, пл. 8.3.2299

    Сообщение «неверные параметры «Перечисление.СостоянияОС.ВведеноВЭксплуатацию». СостоянияОСОрганизаций. Состояние=ЗНАЧЕНИЕ(<<?>>Перечисление.СостоянияОС.ВведеноВЭксплуатацию))КакСостояниеОС

    Что делать?

    Reply
  38. galexo

    у нас тоже самое сообщение об ошибке

    Reply
  39. vik2006

    (38) Читайте выше в этой ветке, там все написано как исправить проблему.

    Reply
  40. vik2006

    (39) Читайте выше в этой ветке, там все написано как исправить проблему.

    Reply
  41. vik2006

    Всем, кто спрашивает, что у них не идет на БП 3.0 и вообще на управляемых приложениях. Ну читайте вы, что написано в заголовке обработки: «Тестировалась на УПП 1.3, но должна работать в БУ, БУ КОРП 2.0, КА, БАУ и БАУ КОРП… Для обычного приложения 8.1-8.3 платформ. «. Этот отчет ДЛЯ ОБЫЧНЫХ, НЕУПРАВЛЯЕМЫХ приложений. БП 3.0 — управляемое приложение, значит этот отчет для нее не подходит. работать не будет. В скором времени постараюсь выложить версию для управляемых приложений.

    Reply
  42. galexo

    ОК, ЖДЕМ)))

    Reply
  43. vik2006

    (43) Через две-три недели, не раньше. В отпуске, хоть на пару недель плюнуть на это дело 😉

    Reply
  44. galexo

    ОК, хорошего отдыха!

    Reply
  45. mvv.1981.ul

    Добрый день. подскажите а как закачать обновление для данного отчета?

    Reply
  46. mvv.1981.ul

    (46) Вопрос снят.

    Reply
  47. Lord_Kingovich

    Здравствуйте!!! Нажал скачать за стартмани, потом стало написано что отправлено на почту, но отчет так и не пришел. Как можно скачать еще?

    Reply
  48. vik2006

    ммммм, как это не пришел? никогда такого не было. если «оплОчено», то приходит всегда. Смотри почтовый ящик, на который прописался здесь.

    Reply
  49. vik2006

    (48)Если не пришло, тогда стучи в техподдержку, это их косяк. Всяко не мой )))))). Я даю все, что могу, без нае…, ну, в общем, без обмана.

    Reply
  50. vik2006

    Для пользователей отчета предыдущих версий: добрался наконец-то изменить немного интерфейс и доработать некоторые неточности, теперь можно выбирать поля в отчете и делать отбор по нужным параметрам. Появилась версия для управляемого приложения.

    Reply
  51. vik2006

    (19) А что это за 210 строка? что там должно быть? Щаз взялся за доработку обработки до приемлемого товарного вида. Если это актуально, то пиши в личку. Решим вопрос, если очень нужно для бухгалтера.

    Reply
  52. Shutd0wn

    Здравствуйте! Если у вас УПП какого-то отраслевого стандарта, то получите ошибку:

    {ВнешнийОтчет.РасшифровкаНалогНаИмущество2017_УФ_v1.Форма.ФормаОтчета.Форма(301)}: Ошибка при вызове метода контекста (Выполнить)

    Запрос.Выполнить();

    по причине:

    {(9, 27)}: Поле не найдено «СостоянияОСОрганизаций.Период»

    И СостоянияОСОрганизаций.<<?>>Период >= ДАТАВРЕМЯ(2013, 1, 1)

    Лечится это так: в общих модулях, в модуле «РегламентированнаяОтчетность» можно поменять

    ИначеЕсли МетаданныеИмя = «УправлениеПроизводственнымПредприятием» Тогда

    на

    ИначеЕсли МетаданныеИмя = «УправлениеПроизводственнымПредприятием» или МетаданныеИмя = «ПОЛИГРАФИЯ8» Тогда

    где ПОЛИГРАФИЯ8 меняете на свой отраслевой вариант.

    Reply
  53. vik2006

    (53)Если Вы внимательно читали описание, то в нем русским по белому написано, что вариант с управляемыми формами тестировался только на Бухгалтерии 3.0, на других конфигурациях не тестировался. И зачем менять что-то в конфигураторе, если это внешний отчет? Внешние отчеты для того и существуют, чтобы ничего не менять в конфигураторе. Но все равно, спасибо за подсказку. Может кому-то действительно пригодится.

    Reply
  54. Shutd0wn

    Прежде всего хочу выразить благодарность за отчет. Он мне действительно помог в борьбе с требованием от ИФНС. Крепко жму руку, товарищ автор.

    Вопрос по отчету: Есть ли возможность в отчете показать остаток по первоначальной стоимости и накопленной амортизации всех основных средств (как по ОСВ Дт01 и Кт02), а не только ОС, участвующих в расчете для налога на имущество?

    Теперь о моем сетапе:

    1С:Предприятие 8.3 (8.3.9.2233) (Сетевой,MsSQL), 1С: Полиграфия 8, редакция 1.3 (1.3.99.1, аналог УПП 1.3.99.1). Управляемые формы не использую, скачал вариант «для обычного приложения». Я простой главбух, ни разу не программист/разработчик в среде 1Сv8. Программиста на предприятии решили не держать, просто купили абонемент на ИТС -техно. У меня получилось запустить отчет только после небольшой правки своей конфигурации(общ.модуль»Регл.Отчетность»). Наверное, есть более рациональный способ решения вопроса.

    А есть ли где возможность бесплатно скачать Хрусталёву (Вы где-то выше вскользь упомянули про нее)? Хочу попытаться разобраться в СКД.

    Reply
  55. vik2006

    (55) Спасибо за комплимент, я прям краснею, шаркаю ножкой по полу и верчу пальчиком об ладошку. Спасибо. Подумаю, отвечу. скорее завтра, сегодня у меня уже вечер и надо врубиться, что хотите сделать.

    Reply
  56. vik2006

    (55)По поводу хрусталевой. Напиши в личку адрес электронки. Где-то у мну валялось это дело. Найду, вышлю

    Reply
  57. vik2006

    А по поводу отчета без правки конфы. Тоже надо подумать. Просто сейчас немного некогда — начало года, сам понимаешь. Чуть позже.

    Reply
  58. Shutd0wn

    (56) ,(57) ,(58) Благодарствую еще, еще и еще раз раз! Хрусталеву уже нашел, буду курить книжку. Да, и желаю удачи нам всем в начале 2018 года. И главное — отдыхайте, дружище почаще и побезмятежнее. Ленивые бухи-однокнопочники («шоб нажала на кнопку и всё стало хорошо») будут всегда, а личные нервы — они когда нибудь кончатся.

    Reply
  59. vik2006

    (59)Это точно. Спасибо. Ню, если что — стучись, помогу, чем могу.

    Reply
  60. Горыня

    Привет! Изменения в расчете для 2018 года поддерживаются? Налоговых ставок теперь две, в регистре налога на имущество появился реквизит: НалоговаяСтавкаДвижимоеИмущество.

    На форму нужно выводить 2,2 и 1,1?

    Reply
  61. Горыня

    Не пойму где сам расчет налога, картинок много, но с налогами ни одной.

    Reply
  62. vik2006

    (62) Учи матчасть. И читай внимательно о чем отчет.

    Reply
  63. kokos3

    почему-то отчет формируется пустой на версии 2.0 ПРОФ

    Reply
  64. sstar90

    Вопрос к автору обработки:

    Конфигурация Бухгалтерия предприятия, редакция 3.0. Будут ли получены в отчете данные, если

    расчет налога на имущество ведется Операциями, введенными вручную (только бухгалтерские проводки).

    Reply
  65. vik2006

    (65) Данные берутся из соответствующих регистров, а не из регистра бухгалтерии.

    Reply
  66. sstar90

    (66) т.е. дожно быть выполнено при закрытии месяца расчет налога на имущество или не обязательно ?

    Reply
  67. vik2006

    (67) закрытие месяца выполняет движения не только по регистрам бухгалтерии. почитайте как и когда формируется регламентированный отчет «Авансы по налогу на имущество» и тогда не будете задавать такие вопросы.

    Reply
  68. anluca

    Скачал. Спасибо за отчет.

    Пришлось немного подправить под конфигурацию БП 3.0.66.60 (изменилась структура Регистра сведений «СтавкиНалогаНаИмущество»).

    Не работает кнопка кнопка «Настройки…» (скрин в файле).

    Reply
  69. vik2006

    (69) Она и не будет работать, поскольку в качестве источника данных служит внешний объект, который не настраивается.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *