<?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='\
Про рейтинг не забывайте
Спасибо. пригодится многим!
Спасибо, мои уже три месяца просят, все нехотелось этим заниматься, отпало
Открываем, нажимаем заполнить и
ТЗ.СубСчет10= Строка(ДокОснование.Материал.Субсчет10);
{C:PROGRAM FILES1CV77БАЗЫБУХГАЛТЕРИЯ1SBDEMOEXTFORMSАКТСПИСАНИЯ.ERT(115)}: Поле агрегатного объекта не обнаружено (Субсчет10)
Это все потому, что в док. Требование накладная в табл. часть могут попасть не только материалы, но и продукция и полуфабрикаты…
08.09.06 Исправил ошибку, теперь работает
по продукции и полуфабрикатам.
Поправил описание.
спасибо большое , то что надо и именно сейчас
Спасибо, выручили…
Очень удобно …Спасибо Автору.
не корректно работает, в ОСВ по счету есть ТМЦ, он ничего не рисует
Он работает по документам Требование-накладная
Конечно очень здорово и акт прикольный в печатной форме,только вот заполнить таблицу не можем.
СПАСИБО!!!
Спасибо у меня по другому но тоже нормально.
Может чего-то не понимаю как заполнить таблицу
или выбрать документ по которому нужно сделать списание.
Смотрите описание
а где это самое описание?????
и еще, при формировании списка на списание он формируется из всего что есть например на эту дату а не из того что есть в выбранной требовании-накладной… Так и должно быть или это можно как то побороть?
Описание на кнопке Описание в отчете на панели инструментов.
Отчет формируется по всем требованиям накладной за выбранный период.
Выбрать конкретную накладную нельзя, только если она одна на выранную дату проведена.
Можно сделать выбор треб-накл, но это уже другой отчет. У нас этого не требовалось.
У меня Акт списания сделан документом, но принцип работы тоже за период.
Очень нужная вещь. Вот только бы заставить ее работать.
Что нужно сделать чтобы таблица начала заполняться?
Сделал выбор документа для списания.
Повторяю: Отчет работает по документам «Перемещение материалов » в производство
Спасибо!!!!!!!!!!!!!!!!!!!!!
Благодарю!!!
как скачать акт списания материалов?
Должен быть для всех свободен. Если нет могу на мыло сбросить
Акт на списание довавился в документ передача в производство, но не заполняется
Это внешний отчет. Никуда он не добавляется. Через МЕНЮ ФАЙЛ ОТКРЫТЬ открывается
Нужная вещь. Только бы заставить работать…
Отлично! Спасибо! )
Вещь нужная. Но мне кажется, что для полного счастья бухгалтера не хватает назначения списания, т.е. разбивки табличной части по затратным счетам.
а можно просто распечатать?
Супер! и надо доработать! сделайте пожалуйста чтобы его можно было выбрать в открытом требовании-накладной (кнопкой внизу). Т.е. сразу заполнил требование-накладную и распечатал акт.
Здорово! напишите пожалуйста пароль на AktSpis2. Нужно подправить длину строки наименование акта. Спасибо!
Хороший отчет, но только для типовой конфигурации. А для УСН? И можно ли узнать пароль, попробую в УСН. Спасибо.
Нечитаемый формат. —
аналогично с KUDAG1… формат не читается… без 1С форму нельзя просматривать?
Я сломала голову ,как мне списать за два года то что болталась на счетах не прилагая усилий ,и тут такой подарок!Умница,спасибо
В УСН выдает ошибки! Документ не заполняется
Все супер!!! только можно несколько ньюансиков:
1. грамматическая ошибка: в графе итого прописью стоит «ИОГО»;
2. было бы неплохо добавить текстовую графу «утвержденная» например приказом от и №, которая в отчете прописывалась бы после слов комиссия в первом абзаце.
мы конечно ручками дописываем и исправляем, но ведь совершенное должно быть еще совершеннее;)) еще раз спасибо.
Молодец! Супер…но ошибки надо исправить, но все-равно спасибо
Не открылось?
Благодарю за решение проблемы, а то наша ИФНС при выездной проверке зацепилась за эти акты и выкинула из расходов все материалы.
А можно узнать пароль на ert?
объясните пожалуйста куда сохранить и как открыть или где взять инструкцию?
В усн И В бУХГАЛТЕРИИ ГОВОРИТЬ ЧТО НЕПРАВИЛЬНЫЙ ФОРМАТ ФАЙЛА
Огромная благодарность за акт списания материалов!!!
Напишите пожалуста актик для упрощенки!!!!!!!!!!!!!!!
Скачала данные обработки.
Требует пароля.
Это как?
(47) А так… Наверное надо в личку автору обработок что-то написать….
(48) Если архив закрыт паролем, это надо в шапке указать
имхо 🙂
А я так и не понял, зачем к форме М-11 плодить еще документы, не предусмотренные нормативкой. Похоже, огромный процент бухгалтеров мается от безделья. В развитие направления могу предложить:
1. Указывать приказ о назначении комиссии.
2. Определять должности членов комиссии на дату составления акта, а не на дату печати, как в обработке. Т.е. анализировать приказы о кадровых изменениях.
3. Сопровождать актом каждую строку формы м_11 (это, правда, уже кто-то предложил).
4. При перемещении ТМЦ между складами для источника составлять акт списания, а для приемника — акт оприходования.
5. Расширить обработку, чтобы работала с документами «ОтпускМатериаловНаСторону», «ПродажаВРозницу», «РасходнаяНакладная».
(49) Не поняла…что и где указать…
Подскажите, пожалуйста…
Наш администратор сказал, что файл запаролен.
(48) автору написала в личку, но он пока не отвечает…
По-идее, он должен в личку прислать пароль?
(51) автор должен был предупредить, что архив запаролен и указать способы получения пароля
(52) Дата последнего входа: 16.01.2009 14:16:12
(51)Запускаете 1С-ину (любую). Файл-открыть. На форме давите листок с вопросительным знаком.
Вчитываетесь в текст, медитируете (мантра: ап что может думать такой папаша).
Запускаете Конфигуратор. Опять Файл-открыть. Получаете окно-доступ ограничен, введите пароль.
Вспоминаете о папаше (см выше), думаете как он (ап выпить рюмку водки и т.д. по Бабелю). Набираете пароль. 🙂
(54) С чувством юмора, у вас все хорошо.
Мне просто очень срочно надо, а владелец не отвечает.
Возможно, он не в сети.
Или забыл про форум.
Может кто-нибудь помочь с паролем?
спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
А по форме 230 сделать слабо?
блин, хотел столбец добавить, а обработка запаролена(((
есть может у кого ломалка? Поделюсь обработкой декодирования модуля для 8.1
Спасибо,всё работает,мне этого не хватало для полного счастья.
Спасибо за разработку, экономия времени
очень полезная штука
Очень полезная разработка! Спасибо!
К сожалению для настройки и измемения под себя закрыта паролем. Неплохо было бы указывать это в шапке…
А так — всё нормально! Сенкс! )
отличная обработка. Давно искал .
Большое спасибо. Удобная и нужная обработка.
Спасибо. Нужная вещь.
отличная вещь, большое спасибо
а для УСН подходит?
Пользуюсь давненько- очень удобно, не надо лазить и искать что надо списывать, всем известно что во многих фирмах материалы списывают «оптом», а потом уже дают на подпись.
Спасибо,всё работает,мне этого не хватало для полного счастья.
Спасибо. Очень нужная вещь!
Для подтверждения списания достаточно формы М-11. Форма утвеждена Госкомстатом. Дополнительная форма «акта на списание» не является обязательной.. 🙂
М-11 есть во всех 7.7-8.х конфигурациях.
А я так и не понял, зачем к форме М-11 плодить еще документы, не предусмотренные нормативкой. Похоже, огромный процент бухгалтеров мается от безделья. В развитие направления могу предложить:
1. Указывать приказ о назначении комиссии.
2. Определять должности членов комиссии на дату составления акта, а не на дату печати, как в обработке. Т.е. анализировать приказы о кадровых изменениях.
3. Сопровождать актом каждую строку формы м_11 (это, правда, уже кто-то предложил).
4. При перемещении ТМЦ между складами для источника составлять акт списания, а для приемника — акт оприходования.
5. Расширить обработку, чтобы работала с документами «ОтпускМатериаловНаСторону», «ПродажаВРозницу», «РасходнаяНакладная».
Сп(50) Арчибальд, угу, по поводу- маюцца бездельем — в небольших фирмах вести полный учет все равно надо ,и никто никому ничго не выдает и в ведомость не записывает ,все только на бумаге…А тут подрок-опа и за месяц весь 10 счет оптом списал.
(10) Подскажите,пожалуйста, как будет выглядеть строка с данными, если в ТребованиеНакладная в строке Комментарий есть данные? Мне нужно вытащить эти данные из Комментарий в дополнительную колонку
Спасибо!
Присоединяюсь к Alyadelf, мне то же надо вытащить данные из строки Комментарий. Как-то можно это включить в обработку? У нас всегда в ТребованиеНакладная в строке Комментарий указывался объект, вот теперь это понадобилось буху