<?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='\
Универсальная загрузку данных из Microsoft Office Excel
загрузку из любых по форме документов с очень удобным редактором.
Данная обработка загружает почти все в конфигурацию «Торговля и Склад»
с возможность «откатить» до первоначального вида.
Перейти к публикации
Спасибо!
Функция не обнаружена (ДанныеТЗ)
ДоступностьКнопокНаПервом<<?>>()
Функция не обнаружена (ДоступностьКнопокНаПервом)
ДоступностьКнопокНаВтором<<?>>()
Функция не обнаружена (ДоступностьКнопокНаВтором)
КонстантаОсновнаяФирма<<?>>
Переменная не определена (КонстантаОсновнаяФирма)
Эталон<<?>>
Переменная не определена (Эталон)
(2) а теперь попробуйте запустить правильно
с компонентой защиты.И все получится 😉
Жалуется на отсуствие компоненты decoder.dll
Все конечно хорошо:)))но это что то не понятное
(4) она есть в архиве
(5) а вы как запускаете обработку ?
добавил в шапку
в архиве три файла :
RIGSKOKTIS.ert — запускной файл
PRIGSKOKTISIs.ert — исполняемый модуль
Decoder.dll — компонента защиты от Альфа (КЗК-1)
Копируем в папку ExtForms свой конфигурации
(или запускаем файл RIGSKOKTIS.ert он самостоятельно попытается скоприровать исполняемые файлы)
и из обработки «дополнительные возможности»
запускаем «Прыг-Скок…или из MS EXCEL в 1С (7.7) TiS»
У меня вопрос. У меня в конфе 2 артикула. Мне нужно производить поиск по 2 артикулу который был добавлен в конфу т.е нужно будет обработку дорабатывать под заказчика?
обработку запустил да скорее всего забыл докопировать dll
У меня вопрос. У меня в конфе 2 артикула. Мне нужно производить поиск по 2 артикулу который был добавлен в конфу т.е нужно будет обработку дорабатывать под заказчика?
Пишите предложения.
ПРОЕКТ ОТКРЫТ — будут любые доработки за теже деньги — лишь бы вам удобно было
Потестили немного. Результат даже выбрав в настройках документ поступление ТМЦ розница при опрделении реквезитов нет цена и сумма и ручками добавить реквезит нельзя( может просто ограничение демоверсии)Поиск по не точному совпадению нет (пример Ваза -аквариум дцв 124*103мм Флора не равно Ваза-аквариум д/цветов 124мм 103мм «Флора» PSB 43417 1070049. самое что плохое то что он завел строчку и придется ее метить на удаление ненужная трата времени)
Нет документа поступление в розницу купля продажа.
Да еще я указал реквизит который есть в накладной допустим 6787 указал что это 2 артикул(самописный)и при создании нового элемента он не скопировался
Если соберетесь делать поиск по неточному совпадению ( а вам придется его делать т.к покупать не будут) перед тем как создать новую позицию номенклатуры:
Предварительная загрузка, завести колонку с флажком, те позиции которые будут заведены новые ставить флажок(галочка) а те что нашел флажок отсутствует.
Т.е перед тем как создать номенклатурную строку(возможно лишнию) оператор может сам выбрать какая это строка.
И при неточном совпадении предлагать на выбор.
(12)
самое что плохое то что он завел строчку и придется ее метить на удаление ненужная трата времени
будьте внимательны — там есть инструмент «отката» все что НОВОГО обработка заводит — можно сразу «Если например неправильно» удалить. Посмотрите в настройках обработки
а вам придется его делать…
Спасибо , вам за хорошее настроение 😀 — посмешили от души.
Лично мне эта обработка не нужна как таковая. Прочитайте ВНИМАТЕЛЬНО описание обработки
Прыг-Скок…или из MS EXCEL в 1С (7.7)
начало этой истории с открытым кодом — так сказать рыба для творчества
так же есть версия (она более «продвинутая»)
Прыг-Скок…или из MS EXCEL в 1С (7.7) Full* на она для специализированной конфигурации МАГАЗьКА
Задавали много вопросов , когда же выйдет для ТиС — вышла и никому не нужно.
Я написал проект открытый:
— все что предложите добавлю
— интелектуальная загрузка из файла — загружает только то что нужно для документа
— поддерживает три формата файла
— очень удобный редактор загруженной таблицы (можно все что угодно изменить добавить, разделить) и сохранить готовый результат
— сопоставление реквизитов
— предварительная загрузка
— «откат» до начала использования обработки (удалить все хвосты)
Вышел новый релиз обработки
— исправлены и добавлены все замечания и дополнения
— возможность «Откатиться назад» — поменка на удаления всего созднанного обработкой
Текущая версия релиза 3.0.03 от 16.05.2011
Поиск аналогов номенклатуры(или по схожим словам) сложно реализовать?
(16) нет не сложно, что конкретно нужно ?
чтобы предлага на выбор или …
Что бы и выбор предлагала, если запятая
Испытал демку, работает, проста и удобна в использовании.
один вопрос.
Документ поступления ТОРГ-12, цена указана Без НДС за 1шт, соответственно заполнены сумма без ндс, НДС,сумма НДС,сумма с учётом НДС.
Предприятие ИП и есть ООО как настроить чтоб автоматом в ТЧ документа поступления загружать НДС
Настройка сумма из файла не устраивает, т.к идёт искажение информации о стоимости за счёт округления видимо
Обновил шапку выложил с открытым кодом и бесплатно
кому нужно пользуйтесь (допиливайте для себя)
Я этим проектом больше не занимаюсь.
Прыг-Скок…или из MS EXCEL в 1С (7.7) TiS* FREE
(открытый код — бесплатно)
почему я её раньше не заметил. лепил самопал
Кто не давно скачал (после 12.03.12)
Прыг-Скок…или из MS EXCEL в 1С (7.7) TiS* (открытый код — бесплатно)
а там закрытый код — я извиняюсь, почему то файл не заменился
красиво
Уважаемые пользователи!
МАГАЗьКА (с)
Я выложил обработку с открытым код — совершенно бесплатно для вас
берите кому нужно и пользуйтесь.
Но я этот проект доделывать и обновлять не буду (на авторство тоже претендовать не буду, меняйте код, дополняйте функционал, продавайте — все ваше в полном объеме)
(честное слово нет времени)
Год была платной (за символическую плату)
с предложением доделать по вас и ваши нужнды (никому не нужно было)
а теперь меньше чем за 5 дней — 64 письма с предложениями , как нужно
сделать и как было бы здорово.
Я знаю как сделать (на основе этой обработки сделана универсальная загрузка данных из MS EXCEL
для программного продукта
сегодня опробовал.
очень долго загружается к сожалению (3 тыс строк), непонятно зачем можно выбирать РОЗНИЧНУЮ цену, так и не смог никуда прикрутить.
зато закупочную при каждой загрузке в справочник цены добавляет.
я не нашел галки отключения «Добавление нового элемента». мне к примеру просто цену обновить из прихода.
при совпадении наименования в загружаемом файле, становится в ступор, ( в штрих код и артикул то разные)
даже если наименование больше поля Наименование, но в конце строки они разные (как бы полным наименованием отлизаются). все равно при установленной галке «поиск по наименованию» . останавливается в ступор.
если стоит галочка автоматического отрезания шапки, то номенклатура загружается не вся, к примеру если в половине цифры а в половине «ДУ-13/650ЭР» то возьмутся только цифры.
если штрих кода у элемента нет. то ступор.
если не стоит галка в настройках. поиск по ШК, то ШК в справочник номенклатуры не записывается.
я понимаю что вы не собираетесь доделывать эту обработку. Но вдруг какой то баг нашёл…
ЗЫ. если на торговой точке используется ШК. а приходная в некоторых позициях не содержит ШК. во всё, вилы.
надо генерировать новый ШК прямо из обработки. жаль что я не могу допетрить как это сделать и в какое место кода вставить.
ЗЫЫ…
а если в настройках колонок сначала идёт закупочная цена. а ниже Розничная. то берется только закупочная.
а если вдруг как я поменял местами для проверки. то взялось нормально. и предварительная загрузка показываться начала цену первую сверху, тоесть в данном случае Розничную… а.а.а..а… я голову сломал уже.
вы записывайте-записывайте. я что зря пол вечера убил?! своей за два прохода бы сделал. у меня только одна цена за раз берется. 🙁
Обработка рабочая. Автор молодчина — сделал основательно. Спасибо! +
Каждый день приходиться загружат огромное количество документов.Обязательно скачаю ,и плюсую
Скачал но при открытии выдает — Данная обработка вызывается из процедур конфигурации
У меня тоже самое. Что нужно сделать чтобы работала?
Блогодаря советам у меня получилось . Я в коде обработке убрала в процедуре приокрытии условие.И уменя открылась обработка. Отличная штука для бухгалтера. Позволяет сэкономить массу времени.Большое спасибо! И не такая сложная, как обработка от решения. Я там нечего не поняла . А в этой обработке наглядное представление столбцов и строк.и все получилось с первого раза.В общем огромное спасибо!
(24) Скачал, все великолепно
но поиск в номенклатуре(при создании нового элемента справочника) по артикулу не работает
а это самый главный критерий идентификации товара
при разных названиях артикул остается прежним.
Вещь нужная спасибо автору. Единственное как мне кажется скорость работы медленная и сложноватый интерфейс а в так в целом вещь я бы оценил как работоспособная и не сомненно нужная. автору плюс если сложить все плюсы и минусы то автору однозначну зха работу плюс.
Очень очень полезная вещь, автору огромное спасибо!
Т.к. много файлов, выгружаемых из Excel, выгружаемых в Excel, то очень нужная вещь. Единственное, что пришлось для менеджеров писать отдельную подробную инструкцию, т.к. голова не у всех хорошо соображает, а интерфейс для простых обывателей конечно сложноват. Посему чуть подправили и используем. Еще раз плюс автору
(35) серегин, Да, точно не работает. Проверил. Плюс не загружает в документ реализации, не смотря на то, что в настройке обработки можно выбрать этот тип документа
(38) ketr, продолжай наблюдение !
МАГАЗЬКА 7.7 (MAGAZKA 8.2 )
Никто и не говорил что будет работать- читаем внимательно шапку — — так сказать рыба для творчества (начальный шаблон для загрузки данных)
а дальше напильник в руки и под свою конфигурацию допиливать.
Это было на уровне идеи…
Готовый вариант ПРЫГ-СКОК есть только для конфигурации
Помогите кто-нибудь! Скачал все ок, работает, устраивает. но не добавляет штрихкод новому элементу справочника номенклатура. хотя в exel поле есть в настройках обработки столбец указан….
Спасибо автору, отличная обработка.