<?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='\
Добрый день! Прежде чем скачать, спрошу: это только для 8.2? в Рознице 2.1, на управляемых формах(8.3, соответственно), будет работать( без перехода на обычные формы)?
(1) SigmaMoscow, день добрый!
Обработка на управляемых формах..
Сейчас проверил на платформе 1С:Предприятие 8.3 (8.3.6.2152) — работает.
На Рознице 2.1, не проверял, если что-то работать не будет, пишите, доработаю или сделаю отдельно для 2.1.
Скачал, работает! Спасибо, полезная обработка, главное в магазинах не показывать))).
В 8,2,18,14 не работает. Что за переменная «ОбщегоНазначенияРТ», подскажите пожалуйста.
(4) kolabaister, день добрый!
«ОбщегоНазначенияРТ» — это общий модуль конфигурации Розницы.
Чтобы самостоятельно устранить ошибку, Вам нужно сравнить процедуру обработки:
с процедурой:
из Обработка.ЗакрытиеКассовойСмены.Форма.Форма.Форма.Модуль(477,1).
Различие в том, что в обработке конфигурации «Отчет о розничных продажах» создаётся новый.
Или напишите какая у Вас редакция Розницы?
Постараюсь помочь.
1С:Предприятие 8.3 (8.3.5.1570)
Управление торговлей, редакция 11.1 (11.1.10.138)
Показать
(6) s00r, день добрый!
Пожалуйста, внимательнее читайте характеристики обработки, данная обработка для «Розницы».
Помогла обработка. Решила проблема с чеками!
Обработка помогла!
Желательно чеки выбирать не только по дням, но и по времени. Если смен несколько и чеков много «то закат солнца вручную».
Анулированные чеки тоже попадают в отчет как нормальные — приходится глазами выуживать и руками пристреливать.
1с розница базовая 2.1.9.20
1С:Предприятие 8.3 (8.3.7.1845)
Спасибо за обработку!
(3) SigmaMoscow, (8) maksa2005, (9) DimchK,
Рад был помочь.
Принято, доработаю позже.
Розница 2.1.9.20
Элементы.ТблЧеков.ТекущаяСтрока = ЭтаФорма.ТблЧеков.Получить(ТекСтрока).ПолучитьИдентификатор();
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
Выбираю магазин. Жму кнопку «Выбрать» вылетает вот такая ошибка.
Предупреждение(«Выполнено!»);
по причине:
Использование модальных окон в данном режиме запрещено!
{Форма.Форма.Форма(261)}: Ошибка при вызове метода контекста (Предупреждение)
Предупреждение(«Выполнено!»);
по причине:
Использование модальных окон в данном режиме запрещено!
Спасибо. Обработка выручила.
Чеки были помечены архивными, а отчет в результате сбоя почему-то пропал после тестирования и исправления. В чеках осталась ссылка «Объект ….. не найден». Создал пустой отчет, пытаюсь связать, не связывается, так как в чеках не прописан этот отчет.
Пришлось групповой обработкой проставлять в чеках этот отчет, перед этим в вашей обработке разрешил их редактирование.
Очень медленно работает данная обработка. Обрабатывать сразу много чеков она не способна.
на Рознице 2.2 будет работать?
Спасибо, выручили. Самому писать было некогда. В рознице 2.2.4.12 все работает как надо.
(9) DimchK, (11) TODD22, (12) TODD22, (13) flintm,
День добрый!
Ошибки исправлены.
Пожелания доделаны.
(14) sancho86,
Использование обработки, если пропал документ «Отчёт о розничных продажах»:
1. Создаём пустой документ «Отчёт о розничных продажах» и проводим его.
2. Запускаем обработку.
3. Указываем период.
4. Выбираем кассу ККМ (Обязательно!)
5. Нажимаем кнопку «Выбрать».
6. Переходим на закладку «Отбор»
7. Оставляем галочку «Архивный», остальные убираем.
8. Возвращаемся на закладку «Чеки»
9. Нажимаем кнопку «По отбору» (все архивные чеки будут помечены галочками)
10. В поле «Отчёт о продажах» выбираем документ, созданный в пункте 1.
11. Нажимаем кнопку «Связать» (чеки свяжутся с документом)
12. Нажимаем кнопку «Переформировать отчёт» (Документ «ОоРП» заполнится).
13. Особое ВНИМАНИЕ уделяем следующему:
Если у Вас исчез документ «Отчёт о розничных продажах», это не значит, что исчезли движения по регистрам этого документа,
поэтому, нужно от записей исчезнувшего документа очистить следующие регистры:
Сведений: «Движения серийных номеров»
Накопления: «Движения серий товаров»;
«Денежные средства ККМ»;
«Продажи»;
«Продажи по дисконтным картам»;
«Продажи по платежным картам»;
«Товары на складах»;
«Товары организаций»;
иначе у Вас будет удвоение всех данных (Регистры указаны для «Розница 2.0»).
Другой вариант, при потере документа:
«КонфигураторАдминистрированиеТестирование и исправление»
В окне «Проверки и режимы» устанавливаем галочку «Проверка ссылочной целостности»
Точку «Тестирование и исправление»
Две точки «Создавать объекты»
Нажимаем кнопку «Выполнить»
Добрый день!
Та же проблема — пропал отчёт о розничных продажах.
Розница, редакция 2.2 (2.2.4.30)
Выбираю период — разрешаю редактирование чеков. Чеки встают все в отложенные. Выбираю пустой созданный отчёт, нажимаю «Связать», обработка выдаёт ошибку: «Чек имеет статус «Архивный». Операции над этим документом запрещены!» При этом ругается на первый чек из списка и меняет его статус на «Пробитый».
Пробую другой вариант: Разрешаю редактирование обработкой, групповой обработкой подставляю нужный отчёт. В обработке выбираю переформировать отчёт, выдаёт ошибку:
{(9,6)}: Поле не найдено «Док.ПроцентТорговойУступки» Док.<<?>>ПроцентТорговойУступки,
Подскажите кто-нибудь пожалуйста, как ещё можно записать чеки в отчёт о розничных продажах?
(20) T_SON,
День добрый!
Доработал для Розницы 2.2.
У меня не заполняется кассовая смена, выбираешь ее и поле остается пустым. Сама писала нечто подобное, но попроще и та же проблема. Может что то с базой? Возникает у кого то подобная проблема? (База Розница 2.2.5.22)
(22),
сейчас проверил на Розница 2.2.5.23:
при заполненном поле «Касса ККМ» (данное поле является фильтрующим),
кассовая смена выбирается и заполняется.
Уточните — поле пустым остаётся или представление не отображается?
Поле «Дата Закрытия кассовой смены:» заполняется после попытки выбрать документ?
Ситуация: пробивали товар (в том исле алкоголь), через некоторое вышел чек с надписью «Аннулирован». Товар забрали. Как восстановить продажу ? Спасибо за совет (продавец уже на колу, говорить не может).
(24), день добрый!
Совет:
Если по ЕГАИС продажа не прошла:
Чтобы зарегистрировать продажу в ЕГАИС,
меняем дату у чека на текущую и статус на «не пробитый», в текущей смене «пробить не пробитые» пробиваем чек (чеки можно перенумеровать).
Если по ЕГАИС прошла продажа:
Меняем статус чека на Архивный (или пробитый), связываем с документом ОРП и переформируем ОРП на основе связанных чеков
Здравствуйте! Розница 2.2.5.22 8.3.8.2197. Выбираю дату, выбираю касса ККТ, жму кнопку «выбрать»… и ничего не происходит! Что я делаю не так? Делаю с основной базы, не с магазина.
(26), День добрый!
Проверьте период (выбранное время), и проверьте, что чеки в базе за этот период присутствуют.
(27)Здравствуйте!
Период стоит правильный, чеки в базе присутствуют. Много чеков. Но по конкретной кассе шт 80 за день. Выбираю любой день, любую кассу, толку ноль. Обработку скачала «РедакторЧеков 2.2», открываю через «файл — открыть». Почему не работает? ((((
(28) проверил на 2.2.5.23 по чекам ККТ, чеки отбираются.
Написал личное сообщение.
(29)Спасибо! Все работает! Не задала часы при выборе даты.
(20) Из-за чего «Отчет о розничных продажах» продажах пропадает?
— тоже сталкивался с такой проблемой
Мое решение:
— переносил «ВыгрузкаЗагрузкаДанныхXML» из бекапа
Скажите, как добавить возможность следить за процессом обработки?
В процедуру ЧекУдалитьНаСервере добавил:
Сообщить(«готово: » + СокрЛП(тмпСсылка));
но если чеков очень много то толку от этого ноль, так как сообщения не пролистываются автоматически.
Также при удалении чеков за большой период не удобно что нельзя приостановить процесс.
Добрый вечер!Сделайте ,пожалуйста,такую обработку для ут 11.3,очень очень нужно!!!
Присоединяюсь к просьбе о 11.3
Очень нужно для УТ 11.4
добавьте еще функции:
1 объеденить все выделенные чеки в один
2 пробить все выделенные чеки на ккт
(37)
Уточните, пожалуйста:
Необходимый алгоритм объединения чеков, в частности:
1. Оплату наличными и картами можно суммировать по типу, а как должна суммироваться оплата бонусами, ведь в общем чеке можно указать только одну бонусную карту.
2. Если карты накопительные, как в общем чеке указать все карты.
Пробивать все отмеченные чеки независимо от их статуса и наличия пометки на удаление?
После того, как чек пробит изменять статус чека?
(38) у меня конечно попроще схема работы — просто бьем чеки наличкой, иногда картами, бонусы и скидки не используем. Просто наотлаживали один день чеков >100, замаялся их пробивать. И так бывает 1-3 раза в мес.
1. Оплату можно суммировать. Про бонусы можно наверное упростить.
3.Ну там же у вас можно галочки ставить напротив чеков и отбор есть. Помеченные галочками и пробивать.
Если все чеки пробьются, то да статус надо поменять на пробитый. А если они объединились в один, то пометить их на удаление и потом удалить.
День добрый!
11.07.2018
Для Розницы 2.2 добавил:
колонку «Оплата картой»
отбор по типу оплаты
отбор по номенклатуре в чеке «И/ИЛИ»
чеки можно сделать НЕпробитыми
возможность пробить НЕпробитые чеки сразу все или по времени чека
интерфейс доработал.
(39) «Пробить непробитые» — реализовал.
«Объединение чека» — универсально не получиться, в виду причин указанных выше. Если есть необходимость персональной доработки — пишите лично.
Добрый день. По какой причине может не связываться отчет о розничных продажах с чеком?
(42) День добрый!
У чека(ов), которые необходимо связать, пометка (галочка) установлена?
Дата запрета изменения данных установлена?
Права пользователя запустившего обработку не ограничены?
Доброе утро. Галочки устанавливала и снимала, дата запрета изменений не стоит. Права админа.
Смогла изменить номер чека, но связать не получается никак.
Чек имеет статус «Архивный». Операции над этим документом запрещены!
(45) Попробуйте, разрешить редактирование, связать а затем закрыть «Архивный»
Добрый день. При попытке установить обработку выходит ошибка «Невозможно подключить внешнюю обработку из файла. Возможно она не подходит для этой версии программы.
8.3.12.1567
Розница 2.2.9.20
(47) День добрый!
Обработка не устанавливается.
Только через «ФайлОткрыть»
Добрый день! Подскажите,пожалуйста, для учета продаж по покупателям(рассрочка) мы привязываем чеки к контрагенту(покупателю). Продажи в рассрочку. Есть необходимость поменять в документе расчета фио покупателя, так как чек привязали ошибочно не к тому. Чек отбивать повторно не надо. Какая схема использования обработки. Меняю в чеке фио, связываю с отчетом по продажам. В итого, в отчете —
расчеты с покупателем чек «цепляется» к нужному контрагенту. Но… выводится и в отчете и по неверному фио. Привязка остается где-то((((
Розница 2.2.8.27
День добрый!
Обновил 2.2.
(50)Доброго дня!
Можете скинуть обновлённую версию для 2.2?
grammatika@bk.ru
Заранее благодарен!)
Чек имеет статус «Архивный». Операции над этим документом запрещены! и ничего не получается сделать
(52) Кнопка «Разрешить» тоже не работает?
Какая версия конфигурации?
(53) конфа розница 2.2.9.19
разрешить работает,потом пытаюсь прикрепить чек в отчету о розничных продажах и выходит ошибка: Чек имеет статус «Архивный». Операции над этим документом запрещены!
(54) Проверил на Розница, редакция 2.2 (2.2.10.19), всё работает («Связать» с ОРП), даже без предварительного «Разрешить».
Кнопкой «Разрешить» изменяется статус чека, он не должен остаться архивным.
Напишите лично, попробую помочь.
Здравствуйте!
Не работает привязка к отчёту о розничных продажах. Он не отображает список ОРП.
Розница 8. редакция 2.2 (2.2.7.39)
(56) Здравствуйте!
Чтобы отображался список ОРП нужно обязательно вверху указать «Касса ККМ».
Добрый день!
Обработка Редактор чеков ККМ Розница 2.2 1.Добавил чек, 2.Перенумеровал чеки, связал все чеки с ОРП, 3.Переформировал ОРП и из него выпала сумма возврата не день в день т.е. не подвязался РКО. Что я сделал не так? и как сейчас поправить ситуацию?
(58) День добрый!
При переформировании ОРП обрабатываются (не зависимо от даты) чеки отвечающие сразу всем следующим условиям:
1. связан с ОРП
2. проведён
3. архивный
4. НЕ аннулированный
5. НЕ отложенный
Проверьте чек возврата на соответствие условиям.
(59) Пропадает прочая выручка. Хотя связи с РКО остаются.
Для 2.2 доработал
1. При переформировании ОРП обрабатывается таблица «Прочая выручка». (пробитые РКО по кассе ККМ)
Понравилась ваша обработка, но в новой версии не нашел возможности сформировать отчет о розничных продажах за выбранный день если одна из старых смен по какой-то причине корректно не закрылась. Отчета о розничных продажах, связанного с кассовой сменой нет.
Что делать в этом случае?
Вот бы была возможность автоматически сформировать отчет о розничных продажах за выбранный день (выбранных документ кассовой смены) с автоматической пометкой архивными. при этом непроведенные и помеченные на удаление чеки не включались в него.
При переформировании отчета за предыдущий день ругается на невозможность провести его оперативно. Мне кажется, это лишнее
(62) День добрый!
Если нет ОРП за определённый день нужно:
1. создать документ ОРП установив нужную дату и время
2. в обработке выбрать нужные чеки
3. выбрать созданный ОРП и связать с ним чеки
4. переформировать ОРП
в связанных с ОРП документов документа «кассовая смена» не будет
более подробно описано в (19)
Добрый день !
а можно с вами как то связаться ?
(34)
Редактор чеков ККМ УТ 11.4 .
(35)
(36)
День добрый!
Сделал
Здравствуйте!
После запуска обработки удается внести изменения в чек. После этого нажимаю Закрыть как архивный, обработка выдает подтверждение, что чек закрыт как архивны. Чек при этом не закрывается, изменения сохранить не удается.
«Операция не может быть выполнена из за несоответствия версии или отсутствия записи в базе в базе данных (возможно запись была изменена или удалена)
Версия 2.2.7
(67) День добрый!
Попробуйте чек редактировать из обработки.
Проверьте, чтобы он (чек) был открыт один раз.
Описанная вами ошибка возникает если один и тот же документ одновременно редактируется два раза.
Или после внесения всех необходимых изменений в чек, закройте обработку и снова откройте.
(69)Добрый день!
Сделал все как вы написали. Результат тот-же. Изменения в чеке не возможно сохранить. т.е. измененный чек не закрывается с изменениями. Ошибки те же. При попытке просто закрыть чек «Данные были изменены или удалены другим пользователем»
Помогите пожалуйста — очень надо. Спасибо!
(70) Написал личное сообщение.
Спасибо ОГРОМНОЕ!
Замучился уже исправлять эти косяки во всех магазинах обработкой «Групповое изменение реквизитов».
Благодаря этой обработке экономится куча времени!
(72) Пожалуйста!
При желании, можете выразить благодарность, поставив звёздочку…
Добрый день! А можно ли удалить движение Чека без повторного переформирования отчета?
(74) День добрый!
У чека движения есть только до формирования ОРП.
После формирования ОРП движений у чека не остаётся.
ОРП формируется на основании чеков и соответственно формируются движения по регистрам.
Получаем, что для того чтобы убрать движения которые были у чека (при сформированном ОРП) есть два варианта:
1. Воспользоваться обработкой и отвязать чек от ОРП, после переформировать.
2. Вручную удалить товар чека из ОРП. Недостаток — сумма по архивным чекам меньше суммы ОРП, где может всплыть это расхождение анализировать Вам.
(75) Спасибо за ответ! У меня продавцы поменяли товар в ОРП а в чеке остался старый. Я через обработку разрешил редактирование, поменял товар в чеке на нужный, провел, в обработке закрыл и заархивировал чек, в обработке заново привязал его к нужному ОРП без переформирония ОРП. Движения в чеке ушли. Такое поведение обработки нормально? )
(76) Да, нормально.
Это поведение не обработки а Розницы, когда чек архивный у него нет движений.
Алгоритм переформирования ОРП: собирается товар по всем связанным чекам, затем проводится по регистрам.
Так как у вас товар в ОРП уже вручную скорректирован и соответствует связанным чекам, переформировывать его не обязательно.
(77) Да спасибо! Только если чек перепровести, а потом поставить ему статус Архивный движения все равно будут. А вот когда пересвязываешь его просто с ОРП — уходит ) Мне помогло, спасибо еще раз