Универсальные подбор и обработка объектов с установкой реквизитов табличных частей. Версия 1.9.25 (управляемое и обычное приложение) 8.2/8.3
Обработка "Универсальные подбор и обработка объектов с установкой реквизитов табличных частей" предназначена для поиска объектов в справочниках, документах, планах видов характеристик, планах видов расчета, планах счетов, задачах, планах обмена, бизнес-процессах, независимых регистрах сведений по произвольному условию и дальнейшей обработки найденных объектов как в режиме управляемого, так и обычного приложения без привязки к конкретной конфигурации.
(113) adhocprog, меня тоже внес, сам не знаю почему. :) Но умным людям подобное простительно. Главное, что у него можно учиться, пусть и хотя бы на его разработках! :)
[+] добавлена возможность редактировать/изменять записи регистров сведений без использования произвольного алгоритма.
[+] дополнена справочная информация произвольного алгоритма.
[+] исправлены незамеченные до сих пор глюки (куда же без этого).
[+] индивидуальный выбор режимов обработки объектов.
[+] сохранение комментариев или описание произвольного алгоритма.
[+] сохранение данных в настройках с использованием списка или выбор варианта настроек.
[+] Исправлены незамеченные до сих пор глюки (куда же без этого).
Все изменения для варианта управляемого приложения
Вы, наверное, будете смеяться, но пока сидел у клиента, понял, что неудобно выбирать период выборки для документов и периодических регистров сведений. Пришлось сделать в отборе поля параметров период.
Так что, жрите, бесплатно ведь делаю, пользуйтесь на здоровье.
Версия 1.3.1 [+]В форме произвольного алгоритма пофиксена ошибка обновления динамических списков. Причём эти процедуры полностью сдёрнуты с БСПятины БП 3.0 последнего, на сегодняшний день релиза. Получается, там косяк.
Не успел порадоваться новому функционалу, как обнаружил до сих пор незамеченную ошибку, связанную с поиском подстроки в строковых реквизитах неограниченной длины.
Обработка обновлена.
Не сохраняется значение радиобаттона "Режим записи объекта" в форме произвольного алгоритма. В этой же форме не хватает информации о том, что для работы с очередным элементом выборки надо использовать имя "Объект".
(130) Да, есть такое. Время будет, поправлю. По поводу информации, встроенная справка формы ещё со времён варианта для обычного приложения.
Обращение к объекту из встроенного языка должно осуществляться посредством переменной "Объект".
Пример написания произвольного алгоритма на встроенном языке:
Встроенная справка не вызывается ни из основной формы, ни из формы произвольного алгоритма. Точнее вызывается стандартная "затычка" - "работа с формами".
Непонятно назначение кнопки "добавить" в списке обработок - добавляется пустая строка, которую отредактировать невозможно.
Неудобное сохранение/загрузка настроек в клиент-серверном варианте - диалог выбора файла вызывается на клиенте, а сохранение по выбранному пути - на сервере. Это означает, что сохранение файла возможно только при указании сетевого пути, доступного как с клиента, так и с сервера. Кроме того, такое поведение совершенно не очевидно.
(132) Встроенная справка у форм у меня вызывается.
Назначение кнопки "добавить" в списке обработок - добавляется пустая строка, по ней кликаете и открывается форма новой настройки. Конечно, можно добавить сразу вызов новой формы при пустой строке, но для меня это пока неактуально. Кстати, такое же поведение и в типовой обработке для обычного приложения.
(133) хм, действительно, в конфигураторе справка есть.
По кнопке "Добавить": открытая по тычку на пустой строке форма новой настройки при нажатии кнопки "сохранить" сохраняется в новую строку, а пустая остается пустой.
(139) Это и остальное сделал.
Версия 1.2.9.
Перед использованием новой версии сохраните настройки обработок в файл предыдущей версии, после открытия новой версии восстановите настройки из файла и заново сформируйте список выбранных обработок.
Новую версию можно скачать с моего сайта, если жалко мани. Ищется в гугле по названию работы.
Подумывал написать подобную обработку, решил поискать по форуму, вдруг есть что-то подобное и точно, все фичи, которые в голове крутились, есть. Спасибо автору)
Подскажите, пожалуйста, в обычном приложении есть кнопки сохранения/восстановления настроек отбора, куда сохраняются эти настройки? Как так же сохранить/восстановить настройки отбора в управляемом приложении? Или может можно сохранить настройки в указанный файл? Не пойму что-то как это делается.
Как хотябы сохранить отбор в базу из управляемого приложения? В обычном кнопки есть, а в УП не могу понять как.
Какова цена за допиливание сохранения настроек в файл?
Сергей, столкнулся с такой проблемой: в УТ11 отключена функциональная опция "Статусы перемещений товаров", при этом в настройка отбора для документа "Перемещение товаров" не доступен реквизит "Статус". Отбирал произвольным запросом.
Так же при первом открытии обработки не мог выбрать объект поиска. В процедуре СохранитьОбъектПоиска, сделал вот так:
Если ОбъектПоиска <> Неопределено Тогда
ОбъектыПоиска.Вставить(ОбъектПоиска.Тип + ОбъектПоиска.Имя, ОтборДанных);
ОбъектыПоиска.Вставить(ОбъектПоиска.Тип + ОбъектПоиска.Имя + "СтрокаПоиска", СтрокаПоиска);
КонецЕсли;
[+] Сохранение/загрузка настроек отборов в файл для переноса настроек между базами данных с идентичными конфигурациями.
[+] Исправление нескольких ошибок.
В тестовой версии v1.3.7, размещённой на сайте автора, пофиксена ошибка, связанная с удалёнными из конфигурации объектами метаданных.
Обнаружилась внезапно сегодня при работе с базой клиента.
Скажите, пожалуйста, в управляемых формах возможно сохранить настройки отбора не в файл, а в базу как в обычных формах? а то неудобно часто используемые настройки загружать из файла.
1) при перезаполнении параметров запроса в отборе по произвольному запросу очищаются значения уже введенных параметров - если там был список значений из пары десятков значений, то заново его вводить напрягает.
2) не сохраняются настройки произвольного отбора т.е. текст запроса, значения параметров - сохраняется только список отобранных объектов. неудобно т.к. запрос может быть сложным (трудно восстановить), а список объектов большим (долго загружается). особенно неудобно, если отбор используется регулярно, и список объектов по отбору будет меняется - сохранять его не имеет смысла.
1) мелочь конечно
2) по-моему распространенный должен быть сценарий работы - один раз настроил отбор объектов и регулярно по нему выполняешь какие-то регламентные действия
(186) Может и сделаю сохранение простого запроса с параметрами, но этой фичей мало кто-пользуется, в основном в случаях с какой-нибудь отключенной функциональной опцией, как в посте (161).
Произвольный запрос я оставил в качестве рудимента от обработки-предка и упор сделал на более прогрессивную выборку информации с помощью СКД. Если сильно надо сохранять текст запроса, используйте в качестве хранилища произвольные алгоритмы в доступных обработках.
спасибо! скачала и использовала на УНФ + турагентство. обрабатывала реквизит договоров, которых тыщи, и все получилось даже без подстраховки ввиде копии базы и тд
Если ИскомыйОбъект.Тип = "Справочник" ИЛИ ИскомыйОбъект.Тип = "ПланВидовХарактеристик" Тогда
Если ОбъектМетаданных.Иерархический И ОбъектМетаданных.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов Тогда
Ошибка - можно заменить так
Если ИскомыйОбъект.Тип = "Справочник" ИЛИ ИскомыйОбъект.Тип = "ПланВидовХарактеристик" Тогда
Если ОбъектМетаданных.Иерархический И
(ИскомыйОбъект.Тип = "Справочник" И ОбъектМетаданных.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов) Тогда
А Ваша обработка работает с одной табличной частью документа или есть возможность обрабатывть реквизиты сразу в двух табличных частях одного документа?
Плюсанул, полезная обработка, заменила несколько отдельных собственных, спасибо!
Предложение добавить функционал поиска значений в табличной части, мне кажется полезно будет многим.
В форме УстановкаРеквизитов изменить код в цикле, плюс добавить реквизит Поиск в форму, приведение типа и сохранение значения:
Процедура ОбработатьОбъект(Ссылка, ПорядковыйНомерОбъекта, МенеджерЗаписи = Неопределено)
...
Для каждого Реквизит из РеквизитыТаблицы Цикл
Если Реквизит.Выбрать Тогда
Для каждого СтрокаТаблицы Из Объект[СписокТабличнаяЧасть] Цикл
//++ ВСТАВКА
Если НЕ ЗначениеЗаполнено(Реквизит.Поиск) Тогда
СтрокаТаблицы[Реквизит.Идентификатор] = Реквизит.Значение;
Иначе
Если СтрокаТаблицы[Реквизит.Идентификатор] = Реквизит.Поиск Тогда
СтрокаТаблицы[Реквизит.Идентификатор] = Реквизит.Значение;
КонецЕсли;
КонецЕсли;
//--
КонецЦикла;
КонецЕсли;
КонецЦикла;
...
Поясните, как с помощью обработки заменить в 100 строках Субконто1 на Субконто2, общее количество строк, например 5000, без использования произвольного алгоритма?
Мое предложение займет 5 минут на добавление, но кому-то позволит эффективнее и быстрее решить задачи. Ну и позволит собрать десяток дополнительных плюсов и стартмани :)
Спасибо.
Обработка сэкономила много времени.
А можно в справочнике отобрать только элементы? (не нашел такой возможности, пришлось ставить отбор по пустому реквизиту элемента, которого нет в группе).
Мне нужно поменять в табличной части документа значение реквизита, но в тех строках, где стоит счет 26. Я не нашел, как в этой обработке задается отбор по табличной части?
Или можно только во всех строках табличной части установить одно и то же значение?
У меня стойкая привычка к старой доброй и понятной Групповой обработке на неуправляемых формах..))
Еще не столкнулся с подобной задачей в 1С Бухгалтерии 3.0, но в старых конфах на неуправляемых формах постоянно приходится решать:
Например, перепровести документы Поступление товаров и услуг, но только те, у которых в табличной части Товары есть строки с материалами на счете 10.01 (например). Попутно поменяв счет учета на 10.09.
Старая типовая обработка позволяла это сделать очень легко, причем не трогая лишние документы, у которых например в таб части Товары ничего нет, а есть только Услуги.
Программист 1С
Москва зарплата от 100 000 руб.до 200 000 руб. Полный день
Тестировщик 1С
Москва зарплата от 70 000 руб. Полный день
Программист 1С
Воронеж зарплата от 100 000 руб.до 150 000 руб. Полный день
Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0")