Наверняка у многих бывает ситуация, когда нужно найти документ по номеру, но изобретательные пользователи (а иногда и программисты) вносят такое большое количество и разнообразие различных префиксов и прочего мусора, что на слух догадаться что такое, например, "АВ С5-1236пр" абсолютно невозможно.
При использовании этой разработки необходимость "чтения мыслей" отпадает. Достаточно нажать кнопку поиск (или, при желании, функциональную клавишу), ввести "1236",и на экран выводится легкий для чтения список документов с этой числовой составляющей номера, сгрупированный по фирмам и видам документов. Список фильтруется по условиям отбора и периода журнала. Пара щелчков мышью, и нужный документ активизируется.
При наличии FormEx.dll список выводится в виде дерева.
Если в номере вообще нет цифр, то нужно искать номер 99999999 (восемь девяток).
Бесплатные
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Узнавайте о новых бесплатных решениях в нашей телеграм-группе
Инфостарт БЕСПЛАТНО
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
0% комиссии — оплата напрямую исполнителю;
Исполнители любого масштаба — от отдельных специалистов до команд под проект;
Прямой обмен контактами между заказчиком и исполнителем;
Безопасная сделка — при необходимости;
Рейтинги, кейсы и прозрачная система откликов.
ВНИМАНИЕ !!!!!!!!!!!!!!!!!!!!!!!
ВНИМАНИЕ !!!!!!!!!!!!!!!!!!!!!!!
ВНИМАНИЕ !!!!!!!!!!!!!!!!!!!!!!!
ВНИМАНИЕ !!!!!!!!!!!!!!!!!!!!!!!
При использовании УРБД документы, обработанные обработкой "Проставить номер для отбора.ert", будут считаться модифицированными и выгрузятся при следующем обмене.
При желании можно воспользоваться методом "РегистацияИзменений()" для исключения этого эффекта, но у меня это не реализовано.
Если у пользователя конфигурации 1С 7.7 сложный интерфейс (или несколько интерфейсов), в котором проблематично найти нужный элемент метаданных - константу, справочник или документ (журнал документов), отчет или обработку, в этом случае поможет универсальный навигатор - органайзер по элементам метаданных, позволяющий легко найти нужный пользователю вид объекта метаданных в отсортированном по алфавитному порядку списке идентификаторов, синонимов или даже комментариев объектов метаданных. Данная универсальная обработка позволяет выбрать и открыть необходимую форму списка и форму элемента. Для доступа к нужному объекту в конфигурации у пользователя должно быть настроено разрешение в правах пользователя, а ссылка в его интерфейсе пользователя в конфигурации не обязательна.
Простая и удобная обработка предназначена для поиска и исправления задублированных (повторяющихся) номенклатурных штрихкодов справочника Единицы. Также она даёт возможность посмотреть номенклатурные остатки. Полезна в случаях, когда номенклатура сопоставляется по штрихкоду с другими внешними источниками, а именно с модулем "Обмент ГИСМТ".
Для 1с77 ТиС 9.2 отчет - выборка всех сотовых телефонов из справочника контрагенты для передачи в СМС рассылку.
Для 1с8 Обработка с алгоритмом распознавания номера телефона из строки.
Обработка + консольная утилита (exe). Работает с использованием FormEx.dll (Алексей Фёдоров aka АЛьФ), strmatch (Ракунов Александр aka skorp) и 1sqlite (Александр Орефков).
Выполняет быстрый нечеткий поиск по справочнику (по умолчанию - номенклатуры) с выводом наиболее похожих позиций в выпадающий список.
Работает на 1с 7.7.
Тестировалось на server 2003 в терминалах, в файловой БД.
Предполагаемые достоинства: пример (более) «адекватного» (по меркам автора на данный момент) поведения поисковой строки (реализовано при помощи консольной утилиты, работающей через winapi – исходники прилагаются (писалось в lazarus)) и удобной навигации по списку, во время ввода.
Является, скорее, примером для реализаций собственных адаптированных поисковых решений.
Если не у всех есть глРазложить:
//******************************************************************************
// глРазложить(Стр,Разделитель)
//
// Параметры:
// Стр - строка, которую необходимо разложить на подстроки.
// Параметр передается по значению.
// Разделитель - строка-разделитель, по умолчанию - запятая.
//
//
// Возвращаемое значение:
// список значений, элементы которого - подстроки
//
// Описание:
// Функция "расщепляет" строку на подстроки, используя заданный
// разделитель. Разделитель может иметь любую длину.
// Если в качестве разделителя задан пробел, рядом стоящие пробелы
// считаются одним разделителем, а ведущие и хвостовые пробелы параметра Стр
// игнорируются.
// Например,
// глРазложить(",ку,,,му", ",") возвратит список значений из пяти элементов,
// три из которых - пустые строки, а
// глРазложить(" ку му", " ") возвратит список значений из двух элементов
//
Функция глРазложить(Знач Стр, Разделитель = ",", нижрег = 0) Экспорт
СЗ = СоздатьОбъект("СписокЗначений");
Если ПустоеЗначение(Стр) = 1 Тогда
Возврат СЗ;
КонецЕсли;
Если Разделитель = " " Тогда
Стр = СокрЛП(Стр);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
Если НижРег = 1 Тогда
СЗ.ДобавитьЗначение(Нрег(Стр));
Иначе
СЗ.ДобавитьЗначение(Стр);
КонецЕсли;
Возврат СЗ;
КонецЕсли;
Если НижРег = 1 Тогда
СЗ.ДобавитьЗначение(Нрег(Лев(Стр,Поз-1)));
Иначе
СЗ.ДобавитьЗначение(Лев(Стр,Поз-1));
КонецЕсли;
Стр = СокрЛ(Сред(Стр,Поз));
КонецЦикла;
Иначе
ДлинаРазделителя = СтрДлина(Разделитель);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
Если НижРег = 1 Тогда
СЗ.ДобавитьЗначение(Нрег(Стр));
Иначе
СЗ.ДобавитьЗначение(Стр);
КонецЕсли;
Возврат СЗ;
КонецЕсли;
Если НижРег = 1 Тогда
СЗ.ДобавитьЗначение(Нрег(Лев(Стр,Поз-1)));
Иначе
СЗ.ДобавитьЗначение(Лев(Стр,Поз-1));
КонецЕсли;
Стр = Сред(Стр,Поз+ДлинаРазделителя);
КонецЦикла;
КонецЕсли;
КонецФункции // глРазложить
Ни фига себе глРазложить !!!
СтрЗаменить(Стр,Разделитель,РазделительСтрок);
Получаем многострочную строку - и делай с ней, что хошь!
Вроде покороче получается ;)
Я над этой глРазложить() еще в 2000-м году смеялся.
Наверняка студент-недоучка писал. У них там ляпов много, например
справочник ДоговорА, нет такого слова в нормальном русском, ДоговорЫ
есть ;)
Смотри:
Стр=СтрЗаменить(Стр,","РазделительСтрок);
Для А=1 По СтрКоличествоСтрок(Стр) Цикл
Список.ДобавитьЗначение(СтрПолучитьСтроку(А));
КонецЦикла;
Вот тебе и список, но короче же!