Универсальный редактор реквизитов объектов. Мультиобработчик




Принцип обмена данными из 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='\

99 Comments

  1. Boroda

    Возможности редактора очень впечатлили и заинтересовали. Но, к сожалению, не увидел в перечне возможных конфигураций 1С:Зарплату и Управление Персоналом… Значит ли это, что редактор в Зарплате работать не будет или будет работать некорректно, периодически вываливая ошибки…?

    Reply
  2. StepByStep

    (1) Boroda,

    Тестирование производилось на конфигурациях: «Розница» 2.0 и «Комплексная Автоматизация» 1.1.

    В составе «Комплексной Автоматизации» есть зарплатный блок. Должно работать.

    «Зарплата и Правление персоналом», как и другие не указаны только из-за специфической особенности обработки, а именно:

    работа со Справочником «Номенклатура» — действия:

    — Заполнить НаименованиеПолное по Наименованию;

    — Добавить Артикул 1-ым словом в Наименование.

    Во всем остальном должно работать.

    Reply
  3. rus128

    Судя по описанию — весьма интересная разработка.

    Только не понятно, «Обойти программные ограничения, существующие в форме объекта типовой конфигурации.» — как? Неужели процедуры модуля объекта не будут вызываться? Или речь шла только об обходе ограничений _типовых_ конфигураций (без доработок)?

    Reply
  4. Sykoku

    При попытке заполнения табличных реквизитов получает 3 сообщения об ошибке, начиная с 251-й строки:

    — на очистке,

    — на добавлении,

    — на записи.

    MMN (аналог «имхо» на немецком), такие вещи надо делать через «попытку».

    Кроме того, есть логическая ошибка — для структур необходимо использовать не ссылочный тип, а объект.

    Если будете развиваться — есть пара замечаний:

    — обработка групп объектов

    — при выборе группы в справочнике не скрываются «лишние» структуры и табличные реквизиты

    — автозаполнение

    — кнопки/клавиши перехода по списку выбираемых для редактирования объектов

    Reply
  5. Sykoku

    И, кстати, Функцию КнопкаЗаписатьНажатие (в которой и были сбои) я бы разделил, вынеся собственно обработку в отдельный модуль:

    Процедура Понеслась(Объект)

    Сообщить(«Объект «+Объект);

    // заполним табличные части из таблиц на форме

    мдОбъекта=объект.Метаданные();

    Для Каждого тч из мдОбъекта.ТабличныеЧасти Цикл

    тчНаФорме=ЭлементыФормы[«тч»+тч.Имя].Значение;

    тчОбъекта=Объект[тч.Имя];

    Попытка

    тчОбъекта.Очистить();

    Сообщить(«Почистили»);

    Исключение

    Сообщить(«Ошибка очистки для «+тчОбъекта + » » +тчНаФорме);

    КонецПопытки;

    Для Каждого СтрокаТчНаФорме из тчНаФорме Цикл

    Попытка

    СтрокаОбъекта=тчОбъекта.Добавить();

    Сообщить(«Добавили»);

    Исключение

    Сообщить(«Ошибка добавления для «+тчОбъекта + » «+тчНаФорме);

    КонецПопытки;

    Для Каждого КолонкаТч из тч.Реквизиты Цикл

    Попытка

    СтрокаОбъекта[КолонкаТч.Имя]=СтрокаТчНаФорме[КолонкаТч.Имя];

    Сообщить(«Установили»);

    Исключение

    Сообщить(«Ошибка установки реквизита для «+СтрокаТчНаФорме[КолонкаТч.Имя] + » » +КолонкаТч.Имя);

    КонецПопытки;

    КонецЦикла;

    КонецЦикла;

    КонецЦикла;

    КонецПроцедуры

    Reply
  6. Sykoku

    А вот примерно так должна выглядеть часть, где идет добавление табличной части

    СпрКлиент = Справочники.Контрагенты;

    Выборка = Справочники.Контрагенты.Выбрать();

    Пока Выборка.Следующий() Цикл

    Очередной = Выборка.Ссылка;

    НовыйВид = Новый Структура(«ВидыДеятельности»);

    ВидОбъект = Очередной.ПолучитьОбъект();

    Попытка

    ВидДет = ВидОбъект.ВидыДеятельности.Вставить(1);

    ВидОбъект.Записать();

    Сообщить(«Удача для «+Очередной);

    Исключение

    Сообщить(«Сбой для «+Очередной);

    КонецПопытки;

    // Понеслась(Очередной); /// — вместо Вашего кода

    КонецЦикла;

    Reply
  7. StepByStep

    (3) rus128,

    «Обойти программные ограничения, существующие в форме объекта типовой конфигурации.» — как? Неужели процедуры модуля объекта не будут вызываться?

    Естественно, будут вызываться.

    Имелось в виду обойти ограничения, существующие в конфигурации, определяемые в форме(модуле формы) объекта типа:

    1. Форма: Определенные реквизиты вообще не высвечиваются в форме объекта типовой конфигурации.

    2. Модуль формы: Блокировка редактирования отдельных реквизитов.

    Например: во время создания нового элемента справочника доступны для редактирования 10 реквизитов, а после записи, при повторном редактировании объекта доступно лишь 8, 2 оставшихся высвечиваются серым цветом — недоступны для редактирования — это зависит от проектной логики конкретной конфигурации. Причем не всегда есть так называемое «Разблокирование реквизитов», т.е средствами стандартного диалога до этих реквизитов не добраться …

    Здесь подобные ограничения не накладываются.

    Reply
  8. StepByStep

    (4) Sykoku,

    Ваши замечания относятся к обычной форме.

    Из описания публикации:

    АВТОРЫ:

    — Обычная форма (включена «как есть»): Трактор (traktor@km.ru)

    — Управляемая форма: МА! (StepByStep1C@Yandex.ru)

    Обычная форма разработана не мной, но включена для «полноты», чтобы получился комплект: «Обычная и Управляемая формы».

    Корректировки в обычную форму будут внесены, т.к. в «Комплексной автоматизации» приходится работать в режиме обычного приложения, то бишь самому надо…

    Как подправлю — выложу.

    За замечания — СПАСИБО.

    Reply
  9. VlaR

    А возможно ли пакетное редактирование реквизитов справочников, конкретно «контрагентов», типа в поле «наименование» всем убрать ООО, ОАО и всякие другие сокращения?

    Reply
  10. StepByStep

    (9) VlaR,

    Что касается КонтрАгентов, то была мысль сокращения типа ООО, ОАО и т.д. переставить в конец наименования.

    Это бывает надо делать для удобства работы со справочником и однотипности содержания.

    Будет сделано в ближайшее время.

    Что касается пакетного изменения то пока только:

    1. «Чистка наименований от лишнего» — типа несколько повторяющихся пробелов, символы табуляции, » , » преобразовать в «, » и тому подобное.

    2. Артикул — первым словом в наименование (Справочник Номенклатура).

    Reply
  11. avavadim

    Полезная обработка, подожду подправленную версию, чтобы самому не париться… Автору большое спасибо.

    Reply
  12. Trium

    Интересная разработка, но нужно допилить

    Reply
  13. StepByStep

    Заинтересованным.

    В ближайшее время планируется обновление:

    1. Исправление ошибок и недочетов;

    2. Новые возможности.

    Reply
  14. Поручик

    (13) С реквизитами типа ХранилищеЗначений как работает? Не затирает?

    Reply
  15. StepByStep

    В новой версии, которая скоро будет есть проверка на ХранилищеЗначений Реквизитов Объектов.

    Reply
  16. StepByStep

    16.02.2012.

    Версия 2.0 Обработки.

    Изменений множество:

    1. Создать документ копированием текущего. (новое)

    2. Просмотреть даты запрета корректировки данных. (новое)

    3. Основные действия с объектом (основное меню). (реорганизовано и дополнено)

    4. При редактировании реквизитов и табличных частей объектов анализируются типы и назначение изменяемого.(новое)

    5. Появились формы Настройка, Редактирование МногоСтрочного текста.

    6. Появилась возможность Установки режимов:

    — Установить/Отменить Монопольный режим.

    — Установить/Отменить Контроль записи (триггеры записи).

    — Установить/Отменить Режим вывода дополнительных поясняющих сообщений.

    7. Переработан ряд других возможностей, добавлены новые.

    8. Удобство работы (прежде всего в Управляемой форме)

    9. Оптимизация выполнения операций, также прежде всего в Управляемой форме.

    10. Определенный функционал сделан общим и выведен в МодульОбъекта.

    Подробнее — на главной странице обработки.

    Если возникнут ошибки, неточности — пишите — рассмотрю и постараюсь быстрее исправить.

    С наилучшими пожеланиями МА! (StepByStep).

    Reply
  17. Трактор

    Версия 2.0 не открывается в обычном интерфейсе.

    Хорошая обработка. Умеет больше моей. Однозначно плюс.

    Reply
  18. StepByStep

    Проверил только — только — открывается.

    Что у Вас пишет ?

    Reply
  19. StepByStep

    (17) Трактор,

    Спасибо, я оченно старался сделать ее функциональной, удобной, быстрой.

    Reply
  20. Трактор
    {Форма.Обычная.Форма(15,17)}: Процедура или функция с указанным именем не определена (ОбъектБДПолучитьТипОбъекта)
    ТипОбъектаБД = <<?>>ОбъектБДПолучитьТипОбъекта(ОбъектБД);
    

    Не видит функцию ОбъектБДПолучитьТипОбъекта потому что перед ней написано &НаСервере

    Открываю в УТ 10.2.

    Reply
  21. StepByStep

    Сейчас гляну …

    Reply
  22. StepByStep

    УТ под рукой нету.

    Опробовал на Комплексной и Рознице. — работает.

    Какая платформа?

    У меня 8.2.15.294.

    &НаСервере — не должно мешать.

    Reply
  23. StepByStep

    Главное, что в модуле Объекта:

    // Возвращает для Значение строку типа «Справочник».

    //

    &НаСервере

    Функция ОбъектБДПолучитьТипОбъекта(ОбъектБД) Экспорт

    то бишь ЭКПОРТНАЯ.

    поэтому в МодулеФормы

    ТипОбъектаБД = ОбъектБДПолучитьТипОбъекта(ОбъектБД);

    должно работать.

    Reply
  24. Трактор

    У меня не открывается, наверное, из-за режима совместимости с 8.2.13.

    В другой базе открылась.

    Платформа 8.2.15.289.

    Reply
  25. StepByStep

    (24) Трактор,

    Комплексная — Платформа 8.2.13.219.

    Розница — Платформа 8.2.15.294. в Режиме Совместимости 8.2.13 — см. Скриншот «Настройка» на странице Обработки, там это видно, хотя и в управляемом приложении, но работал и в обычном приложении с той же розницей.

    Reply
  26. StepByStep

    Кстати в исключении в этой же функции есть такое:

    Сообщить(«МФ: » + ОписаниеОшибки(), СтатусСообщения.Информация);

    Сообщить(«МФ: » + «Не удалось открыть ФормуВыбора. Конфигурация: «»» + ПараметрыСеансаОбработки.Конфигурация + «»», версия » + ПараметрыСеансаОбработки.Версия, СтатусСообщения.Важное);

    Если (ПараметрыСеансаОбработки.Конфигурация = «Розница») Тогда

    Сообщить(«МФ: » + «Ошибка выявлена на редакции: Розница 2.0.3.14. Справочник «»ВнешниеПользователи»» при вызове Управляемой ФормыВыбора из формы «»Обычная»» данной Обработки.», СтатусСообщения.Внимание);

    КонецЕсли;

    Reply
  27. StepByStep

    Опробировал в обычном интерфейсе на Управление торговлей, редакция 11.0 (11.0.7.13) — работает.

    Режим совместимости — НеИспользовать.

    УТ 10-ки нет.

    Reply
  28. StepByStep

    (28) Rs_comp,

    Платформа начиная с 8.2.13.219

    Зарплата и Управление Персоналом указаны в списке возможных конфигураций.

    Конкретно на этой конфигурации не проверялось, но проверялось на :

    1. Комплексной конфигурации 1.1 на платформе 8.2.13.219. Обычное приложение.

    2. Розница 2.0 на платформах 8.2.13.219, (минуя 8.2.14), 8.2.15.289/294 (8.2 — в режиме совместимости). Обычное/Управляемое приложение.

    3. Управление Торговлей 11.0 на платформе 8.2.294 (НеИспользуя режим совместимости). Управляемое приложение.

    Такие варианты опробированы.

    Reply
  29. StepByStep

    Найденные на текущий момент ошибки и недоработки 2.0:

    1. При включенном флажке «Отключить контроль записи» не производится Проведение/ОтменаПроведения Документа, а также выходит на ошибку при сохранении ПланаОбмена.

    2. При Проведении/Отмене проведения Документа не обновляется поле формы Выбранного Документа.

    Готовится версия 2.1.

    Если у кого-нибудь возникли ошибки. Пишите.

    Reply
  30. Поручик

    Выглядит внушительно по сравнению с другими.

    Reply
  31. StepByStep

    (30)

    Новая версия Обработки «РедакторСиД» 2.1:

    — Исправлены указанные выше ошибки

    — А также другие обнаруженные на данный момент недочеты.

    — Добавлена новая возможность: Проведения пакета: Документ-Основание (определяется по наличию в документе реквизита с именем «ДокументОснование») и Текущего документа

    Делается это с дополнительными проверками.

    — При проведении Документов теперь производится проверка — Имеет ли документ возможность осуществлять какие-нибудь движения (:) Коллекцию Движений).

    — Прочие мелкие изменения.

    Reply
  32. Поручик

    (32) Небольшое изменение названия публикации — Редактор реквизитов Справочников, ……….. — и обработка выходит в результаты поиска по первым словам.

    Поисковое продвижение называется.

    Reply
  33. StepByStep

    (33) Поручик,

    Что-то в этом есть …

    Reply
  34. StepByStep

    Подготавливается новая версия 2.2.

    Основное что планируется — Оптимизация исполнения.

    Если у Вас проявились ошибки, неточности — пожалуйста пишите.

    Спасибо.

    Reply
  35. ninch

    Большое спасибо. Очень порадовала обработка. Все что душе угодно. Недавно искал похожее — ничего не нашел — пришлось делать кое как (лишь бы быстро:)).

    Проверял в УТ 11 — изменение табличной части документа — работает все как надо.

    Главное что порадовало — это то что обработка бесплатно предоставляется и код открыт. Это редкость нынче:)

    Reply
  36. StepByStep

    (36) ninch,

    Пожалуйста.

    Reply
  37. StepByStep

    Версия 2.2. 21.02.2012 г.:

    — Уточнено понятие «Основание» для пакетного проведения: Документ-Основание + Текущий Документ.

    Теперь в качестве «Документа-Основания» может выступать не только документ из таблицы Реквизиты, который имеет имя «ДокументОснование», но и Документ, имеющий имя, например «ЗаказПокупателя» и др.

    — Если Документ невозможно проводить, то слово «Документ», а также Информация по Типу Документа высвечиваются красным для подсказки.

    — Оптимизация работы Обычной и Управляемой Форм (N-раз, а отдельных случаях — в 10-ки раз).

    Существенная оптимизация.

    В несколько раз (по замерам производительности) на Справочниках, ПланахОбмена и Документах (БЕЗ показа движений)

    В несколько десятков раз на Документах (С показом движений), если в Настройках установлен флажок «Скрывать пустые таблицы движений регистров».

    Приятного Вам пользования обработкой.

    Reply
  38. tormozit

    Достойно.

    Reply
  39. StepByStep

    (42) tormozit,

    Спасибо.

    Reply
  40. 1cmax

    Чем обработка качественно отличается от Универсального редактора реквизитов от Tormozit?

    Reply
  41. StepByStep

    (44) 1cmax,

    Не смотрел — не знаю.

    Пишу свое, как считаю нужным для Администратора 1С.

    Reply
  42. Трактор

    (44) Tormozit взял за основу мою разработку Сейчас я принял в своей разработке изменения tormozit’а и vetalm’а плюс добавил управляемый интерфейс.

    В отличие от моей обработки эта обработка больше умеет делать со справочниками, документами. Есть групповые обработки перенумератор/перекодировщик, поиск и замена значений, поиск ссылок на объект.

    Обработка tormozit’а не имеет управляемой формы плюс требует изменений в конфигурации.

    Эта обработка, в отличие от моей и tormozit’а не позволяет редактировать ПВХ, счета, виды расчётов, задачи, бизнес процессы.

    StepByStep, в клиент-серверной версии толстая форма не работает. Проверено на типовой БП2. Чтобы заработала нужно в модуле объекта инструкцию &НаСервере

    заменить на

    #Если НаСервере Тогда

    &НаСервере

    #КонецЕсли

    Reply
  43. 1cmax

    (46) Трактор, Значит нужно добавить групповые обработки в твою обработку

    Reply
  44. StepByStep

    (46) Трактор,

    Клиент-Сервер пока не начем проверять.

    За замечание спасибо.

    » в клиент-серверной версии толстая форма не работает. Проверено на типовой БП2. Чтобы заработала нужно в модуле объекта инструкцию &НаСервере

    заменить на

    #Если НаСервере Тогда

    &НаСервере

    #КонецЕсли »

    В следующей версии обязательно исправлю.

    Reply
  45. Misanets

    а мне картинка понравилась про деревья 🙂

    Reply
  46. dtitov

    Очень достойно. Автору респект. С удовольствием плюсую!!!

    Reply
  47. StepByStep

    (49) Misanets,

    Мне тоже.

    Reply
  48. StepByStep

    (50) dtitov,

    Спасибо.

    Reply
  49. bolush

    Интересно

    Reply
  50. StepByStep

    (53) bolush,

    Успешного Вам пользования обработкой …

    Если встретите ошибки — отпишите.

    Reply
  51. r00t

    Вкусняшка !!! Спасибо огромное, за допиливание =)

    +

    Reply
  52. AlexO

    (46) Трактор,

    Есть групповые обработки перенумератор/перекодировщик, поиск и замена значений, поиск ссылок на объект.

    а зачем это все засовывать в одну обработку??

    Чтобы «былО»? идет загромождение интерфейса ненужными функциями — кому-то «перенумератор» только, кому-то — изменить реквизит…

    Мультиобработка должна выполнять ПОХОЖИЕ операции, без которых не обойтись в выбранной задаче, например, смена реквизита и групповой посик и замена.

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

    И потом —

    Есть групповые обработки перенумератор/перекодировщик, поиск и замена значений, поиск ссылок на объект.

    — перенумераторов полно, две других последних — есть в типовых (одна на ИТС, другая — встроенная).

    Удаление и очистка ЛЮБОГО объекта — тоже есть в типовых. И реализовано на отлично.

    Так зачем делать лишнее? ))

    Reply
  53. Трактор

    (58) AlexO,

    Так зачем делать лишнее? ))

    Не надо меня спрашивать. Спрашивай автора. В моей обработке лишних, на твой взгляд, функций нет — только универсальный редактырь. В этой есть дополнительные возможности. Кому что больше нравится, тот то и пользует.

    Reply
  54. AlexO

    (59) Трактор,

    да, немного неправильно построен мой вопрос.

    Уточняюсь: цитаты — ваши, вопросы — к StepByStep, т.к. он так и не описал конкретный функционал своей обработки, что сделали за него вы в (46).

    В этой есть дополнительные возможности. Кому что больше нравится, тот то и пользует.

    — люди ищут конкретную функцию, и, найдя её здесь, пользуют. Но судя по тенденции — сколько еще таких функций будет включено для раздутия функционала? 10? 1000?

    Ищут конкретную функцию, и можно сделать просто конкретную обработку, дав ссылку. Или мультиобработку узкой заточки по принципу: этап 1 — делай раз, этап 2 — делай два и три, этап 3 — делай четыре.

    Все.

    Так что главный вопрос — зачем из швейцарского ножа делать швейцарского же монстра — остается ))

    Reply
  55. StepByStep

    (60) AlexO,


    (59) Трактор,

    да, немного неправильно построен мой вопрос.

    Уточняюсь: цитаты — ваши, вопросы — к StepByStep, т.к. он так и не описал конкретный функционал своей обработки, что сделали за него вы в (46).

    Функционал обработки описан на странице публикации.


    Трактор,

    Цитата

    Есть групповые обработки перенумератор/перекодировщик, поиск и замена значений, поиск ссылок на объект.

    1. Перенумератор документов есть.

    2. Перекодировщик (очевидно имеется в виду перекодировка справочника) не было и не будет.

    3. Поиск и замена ссылок на объект есть.

    Reply
  56. AlexO

    (63)

    так вы тогда вместо вот этого:

    Нестандартное редактирование реквизитов и табличных частей:

    — Справочников;

    — Документов;

    — Планов обмена.

    вставьте, пожалуйста, список компонент:

    1. Перенумератор документов есть.

    3. Поиск и замена ссылок на объект есть.

    4. ….

    а потом пусть идет более подробное описание функционала компонент из списка.

    Иначе сложно ориентироваться — знакомится ли более тщательно с вашей обработкой, или нет.

    Reply
  57. Moll

    Благодраности за проделанную работу авторам, как раз искала групповые обработки для управляемых приложений. Правда нужна обработка для 1C Корпоративный университет, но может как-то получится её приспособить под свои нужны =]

    Reply
  58. StepByStep

    (65) Moll,

    Привязки к определенной конфигурации нет.

    В общем случае должно подойти.

    Reply
  59. StepByStep

    (64) AlexO,

    В этом что-то есть…

    Reply
  60. _LEV_

    Версия 2.2. 21.02.2012 г.:

    — Уточнено понятие «Основание» для пакетного проведения: Документ-Основание + Текущий Документ.

    Теперь в качестве «Документа-Основания» может выступать не только документ из таблицы Реквизиты, который имеет имя «ДокументОснование», но и Документ, имеющий имя, например «ЗаказПокупателя» и др.

    — Если Документ невозможно проводить, то слово «Документ», а также Информация по Типу Документа высвечиваются красным для подсказки.

    — Оптимизация работы Обычной и Управляемой Форм (N-раз, а отдельных случаях — в 10-ки раз).

    Существенная оптимизация.

    В несколько раз (по замерам производительности) на Справочниках, ПланахОбмена и Документах (БЕЗ показа движений)

    В несколько десятков раз на Документах (С показом движений), если в Настройках установлен флажок «Скрывать пустые таблицы движений регистров».

    Приятного Вам пользования обработкой.

    Вот за это большое спасибо!

    Reply
  61. pavel06

    Напишите, пожалуйста, инструкцию по использованию для чайников.

    У меня не открывается на платформе 13.219 с КА — дает ошибку

    {ВнешняяОбработка.КонсольАдминистратора.МодульОбъекта(74)}: Преобразование значения к типу Строка не может быть выполнено

    ПараметрыСеансаОбработки.Вставить(«РежимСовместимости» , Строка(МетаДанные.РежимСовместимости)); // Строка( — Для возможности передачи между Сервером и Клиентом.

    Reply
  62. StepByStep

    (71) pavel06,

    Прежде всего вопрос: у Вас случайно не Клиент-Сервер ?

    Клиент-Сервер — в следующей версии в ближайшие дни.

    У меня не открывается на платформе 13.219 с КА — дает ошибку

    {ВнешняяОбработка.КонсольАдминистратора.МодульОбъекта(74)}: Преобразование значения к типу Строка не может быть выполнено

    ПараметрыСеансаОбработки.Вставить(«РежимСовместимости» , Строка(МетаДанные.РежимСовместимости));

    ДЛЯ ФАЙЛОВОГО ВАРИАНТА ОТВЕТ СЛЕДУЮЩИЙ:

    КА на платформе 8.2.13.219 может работать в Режимах совместимости:

    1. Не использовать.

    2. Версия 8.1.

    Эта конструкция должна работать.

    Проверил только, что — работает.

    Если у Вас все же есть эта ошибка, то Вам необходимо:

    1. Зайти в конфигуратор.

    2. Открыть обработку «КонсольАдминистратора».

    3. Открыть МодульОбъекта.

    4. Записать строку № 74 в Следующем виде:

    ПараметрыСеансаОбработки.Вставить(«РежимСовместимости», «»);

    5. Сохранить обработку.

    6. В режиме 1С:Предприятие — проверить.

    На настоящий момент этот параметр несет только информативный характер.

    В следующей версии, которая ожидается в ближайшие дни эта конструкция будет выполняться в Попытке:

    Коротко из справки 1С:Предприятие об операторе Попытка:

    Попытка



    Исключение



    КонецПопытки;

    Описание:

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

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

    После выполнения последовательности операторов исключения управление передается на следующий за ключевым словом КонецПопытки оператор.

    Если же последовательность операторов попытки выполнилась без ошибок, то последовательность операторов исключения будет пропущена и управление также будет продолжено с оператора, следующего за ключевым словом КонецПопытки.

    Напишите, пожалуйста, инструкцию по использованию для чайников.

    Инструкция «для чайников» — позже.

    Спасибо. Желаю удачи.

    Reply
  63. StepByStep

    Вышла новая версия 2.5.

    (46) Трактор,

    StepByStep, в клиент-серверной версии толстая форма не работает. Проверено на типовой БП2. Чтобы заработала нужно в модуле объекта инструкцию &НаСервере

    заменить на

    #Если НаСервере Тогда

    &НаСервере

    #КонецЕсли

    БОЛЬШОЕ С П А С И Б О.

    Ошибка исправлена.

    Всем удачи и процветания.

    Reply
  64. StepByStep

    (71) pavel06,

    Напишите, пожалуйста, инструкцию по использованию для чайников.

    В версии 2.5 расширена справка к обработке. Посмотрите.

    Если еще возникают вопросы — отпишите. В следующей версии добавлю/изменю непонятное.

    С наилучшими пожеланиями МА!

    Reply
  65. Miha.L

    Как минимум не хватает задач и бизнес-процесов

    Reply
  66. StepByStep

    (75) Miha.L,


    Как минимум не хватает задач и бизнес-процесов

    Задачи и бизнес-процессы планируются в следующей версии.

    С наилучшими пожеланиями МА!

    Reply
  67. StepByStep

    (75) Miha.L,


    Как минимум не хватает задач и бизнес-процесов.

    «Идя навстречу пожеланиям трудящихся …» Бизнес-процессы и Задачи редактируются.

    + к этому есть возможность просмотреть Карту маршрута Бизнес-процесса.

    Это версия 2.8.

    С наилучшими пожеланиями МА!

    Reply
  68. BEPTEP

    Автору спасибо за разработку, мастхэв, что всегда теперь под рукой!

    Reply
  69. StepByStep

    (78) BEPTEP,

    Всегда — пожалуйста.

    Reply
  70. anton.smyslov

    Поддерживает ли данная обработка Бухгалтерию государственного учреждения 8.2

    Reply
  71. Agema

    (80) anton.smyslov, да, не совсем оказывается. Со справочниками (все не проверял) нормально. А ткнул наугад документ (Списание материалов), выскочила ошибка

    МФ: {ВнешняяОбработка.КонсольАдминистратора.МодульОбъекта(2356)}: Ошибка при вызове метода контекста (ЗначениеЗаполнено): Проверка мутабельных значений на заполненность не поддерживается

    МФ: Не удалось открыть ФормуВыбора. Конфигурация: «БухгалтерияГосударственногоУчреждения», версия 1.0.11.3

    А, например «Кассовое выбытие» открывается.

    Автору огромное спасибо за разработку! Очень удобно.

    Reply
  72. StepByStep

    (81) Agema,

    СПАСИБО за обнаруженную ошибку.

    Проблема действительно существует.

    В ближайшее время выйдет версия 3.0 в ней будет исправлена эта ошибка.

    Как впрочем будут и другие новшества — изменения.

    а пока можно записать вместо ошибочной строки следующую:

    ОписаниеОбъектаБД = «»+?(мдОбъектаБД.КонтрольУникальности, «Контроль уникальности», «Без контроля уникальности») + «,» + ?(мдОбъектаБД.Автонумерация, «Автонумерация», «Без автонумерации») + «,» + ?(НЕ СокрЛП(мдОбъектаБД.Нумератор) = «», мдОбъектаБД.Нумератор, «Без нумератора») + «,Период: » + СокрЛП(мдОбъектаБД.ПериодичностьНомера) + «,Проведение: » + ?(мдОбъектаБД.Проведение = МетаДанные.СвойстваОбъектов.Проведение.Разрешить, «Разрешено», «ЗАПРЕЩЕНО»);

    Reply
  73. StepByStep

    (80) anton.smyslov,

    Должна работать (с учетом обнаруженной Agema ошибки и ее исправления 81-82)

    В ближайшее время будет версия 3.0.

    За исключением отдельных специфических функциональностей типа:

    Опциональные возможности (Управляемая форма):

    Возможности, зависимые от конкретной конфигурации:

    1. Добавить обработку в справочник «Внешние отчеты и обработки» или аналогичный в конфигурации, которая позволяет осуществить такое добавление.

    2. Произвести заполнение справочников типа «ВариантыОтчетов», «РегламентированнаяОтчетность».

    Реализовано для конфигураций: «Розница 2.0», «Управление Торговлей 11», «Комплексная автоматизация 1.1».

    Reply
  74. Agema

    (83) Спасибо! подкорректировал строчку — все работает, и документы по ОС и Материалам (в бюджетке они образуют группу НФА — нефинансовые активы).

    Reply
  75. StepByStep

    (84) Agema,

    Пожалуйста. Удачи.

    Reply
  76. Agema

    А копировать справочники одной организации (учреждения), конкретно ОС, в другую, можно групповой операцией?

    Reply
  77. StepByStep

    ИЗ СОДЕРЖАНИЯ СПРАВКИ К ОБРАБОТКЕ:

    ПЕРЕНУМЕРАЦИЯ ДОКУМЕНТОВ

    Вкладка «Дополнительно — Документ».

    Перенумерация документов возможна за произвольный период.

    Рекомендуется осуществлять перенумерацию по организации, префиксу в соответствии с периодичностью нумерации по типу документа.

    Документы с похожими префиксами можно отфильтровать следующими способами:

      — По Организации, если такой реквизит присутствует в документе.

      — По ПрефиксуИсключение, содержащий исключаемые префиксы, разделенные «;» (точка с запятой).

    ВНИМАНИЕ! В ПрефиксеИсключение недопустимы пробелы, если они не являются частью префикса. Пробелы считаются значащими символами.

    Принцип работы:

    Получить начальные параметры для перенумерации документов Кнопка «Получить начальные данные с соответствии с периодичность документа».

    Выбрать Организацию, если у документа есть соответствующий реквизит.

    Произвести поиск в соответствии с указанными параметрами.

    В случае, если реквизит Организация отсутствует у объекта информационной базы и встретились документы, относящиеся к разным организациям, но с похожими префиксами, то можно воспользоваться корректировкой реквизита «ПрефиксИсключение» для фильтрации документов с такими номерами.

    Выбрать Необходимые документы Флажки «+/-» (реквизит «Включено»).

    Указать НовыйПрефикс и НачальныйНомер.

    Кнопка «Перенумеровать документы».

    Reply
  78. StepByStep
    Reply
  79. Гость

    (1) Boroda, в описании указана интересующая Вас конфигурация!

    Reply
  80. GreenFox

    Обработка интересная, попробую на украинских конфигурация, о результате отпишусь.

    Reply
  81. StepByStep

    (90) GreenFox,

    Как чувствуют себя украинские конфигурации. Все нормально ?!

    Reply
  82. StepByStep

    Вышла новая версия КонсольАдминистратора 3.2: Универсальный редактор объектов + множество дополнительных возможностей (групповые обработки)

    — Добавлена «История изменений объекта». «Журнал регистрации». Отдельная управляемая форма.

    — Добавлен «Список активных пользователей». Отдельная управляемая форма.

    — Дополнена справка к обработке.

    Reply
  83. electronik

    Обработка интересная, попробую о результате отпишусь. Но возможности интересние. Автору спасибо за проделаную работу

    Reply
  84. StepByStep

    Вышла новая версия КонсольАдминистратора 3.3:

    — Добавлено Перепроведение документов Монопольно/Немонопольно с различными видами фильтрации проводимых документов и временем ожидания снятия блокировки с документа в немонопольном режиме.

    Из содержания справки:

    Произвести проведение документов. Вкладка «Дополнительно — Документ — Проведение».

    Проведение документов возможно за произвольный период.

    Принцип работы:

    Установить начальные параметры для проведения документов.

      ВАЖНО. При первоначальном формировании списка Виды документов, исключаются виды документов, у которых «Проведение» неразрешено (например, документ КорректировкаРегистров).

      При выборе параметра «Организация» будет произведен отбор видов документов, содержащих этот реквизит.

      Параметр «Ожидать снятие блокировки с документа» актуален при немонопольном проведении документов с ненулевой вероятностью, что какой-либо из проводимых документов в момен проведения окажется заблокированным другим пользователем.

      Дополнительный параметр «Время ожидания снятия блокировки» может позволить пользователю в соответствующий интервал времени завершить свои действия с документом и закрыть документ.

    Выбрать виды документов.

    Выбрать «Проведенные/Непроведенные/Все».

    Кнопка «Провести документы».

    Reply
  85. zsder

    Спасибо автору, действительно огромный труд

    Reply
  86. StepByStep

    (95) zsder,

    Спасибо, работа большая.

    Reply
  87. ilonnaa

    Спасибо автору, очень хочется потестить!

    Reply
  88. DREDD112

    Спасибо автору, щас заценимс!

    Reply
  89. Erne100

    Огромное спасибо за труд.

    Плюс поставил с удовольствием.

    Радует и то, что автор не останавливается на достигнутом.

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

    Reply
  90. StepByStep

    (99) Erne100,

    Пожалуйста.

    Планы безусловно есть. Вопрос времени.

    Reply
  91. StepByStep

    (97) ilonnaa,

    Пожалуйста. Жду Ваших откликов.

    Reply
  92. ilonnaa

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

    Reply
  93. TitanLuchs

    Мда, автору респект за такую работу!

    Reply
  94. Jonny_wk

    Зачет!

    Reply
  95. forurchik

    прикольная вещица. обязательно попробую

    Reply
  96. PanKir

    ОТЛИЧНАЯ штука!!!!!

    надеюсь «посредственное удаление» на ней работает, а то не очень хочется из-за чистки базы оставаться после работы, выкидывать юзеров, которые некорректно решили выйти из базы и при этом остаться там и делать стандартный контроль ссылочности и удалять всё что возможно… а потом сидеть и думать как бы удалить остальное…

    а тут — всё что можно — удалил, что нельзя — исправил ссылку а потом удалил… и всё во время работы не затрагивая бедных юзеров… главное лишнее не грохнуть 🙂

    Reply
  97. commo

    список возможностей изрядно удивил, нужно будет как нибудь попробовать. +

    Reply
  98. DoctorRoza

    При открытии в УПП 1.2.21.1. (конфа старенькая, очень возможно, что то и изменили) под полными правами, в клиент-серверном варианте работы, возникает ошибка

    {Обработка.КонсольАдминистратора(90)}: Поле объекта не обнаружено (ИспользуемоеИмяФайла)

    ПараметрыСеансаОбработки.Вставить(«ИмяФайлаОбработки», ЭтотОбъект.ИспользуемоеИмяФайла);

    Что не так? Заранее спасибо! 🙂

    Reply
  99. StepByStep

    (157) DoctorRoza,

    Спасибо. Посмотрю.

    Reply

Leave a Comment

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