Контекстный поиск в 7.7

Публикация № 273999

Разработка - Инструментарий разработчика

3
Процедура контекстного поиска в журнале документов.

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

Итак, встречайте - процедура поиска заданной строки в журнале документов. Процедура просто перебирает реквизиты документов в поисках требуемой строки. Конечно, со внешниим компонентами это работало бы быстрее, а в 8-ке это есть на уровне платформы, но для 7.7 подобная обработка для подобного вида поиска способна здорово помочь.

Параметры:

Поиск_ - искомая строка

Журнал_ - имя журнала ( в 7.7 из контекста нельзя получить имя журнала документа)

Контекст_ - сам контекст журнала документов

 

Процедура глГлобальныйПоиск(Знач Поиск_,Журнал_,Контекст_) Экспорт
    Если ПустаяСтрока(Поиск_) = 1 Тогда
        Возврат;
    Иначе
        Поиск_  = Врег(СокрЛП(Поиск_));
    КонецЕсли;
    ВсегоНайдено_ = 0;
    ТЗРезультат = СоздатьОбъект("ТаблицаЗначений");
    ТЗРезультат.НоваяКолонка("Описание","Строка");
    ТЗрезультат.НоваяКолонка("Документ","Документ");
    
    СЗШапка_ = СоздатьОбъект("СписокЗначений");
    СЗТаблица_ = СоздатьОбъект("СписокЗначений");
    
    
    ИмяОтбора_ = "";
    ЗначениеОтбора_ = "";
    Если Контекст_.ПолучитьОтбор(ИмяОтбора_,ЗначениеОтбора_) = 1 Тогда
        Если ПустоеЗначение(ЗначениеОтбора_) = 1 Тогда
            Док = СоздатьОбъект("Документ."+ИмяОтбора_);
            Док.ВыбратьДокументы(Контекст_.НачалоИнтервала(),Контекст_.КонецИнтервала());
        Иначе
            Док = СоздатьОбъект("Документ");
            Док.ВыбратьПоЗначению(Контекст_.НачалоИнтервала(),Контекст_.КонецИнтервала(),ИмяОтбора_,ЗначениеОтбора_);
        КонецЕсли;
    Иначе
        Док = СоздатьОбъект("Документ");
        Док.ИспользоватьЖурнал(Журнал_);
        Док.ВыбратьДокументы(Контекст_.НачалоИнтервала(),Контекст_.КонецИнтервала());
    КонецЕсли;
    Пока Док.ПолучитьДокумент() = 1 Цикл
        СЗ = СЗШапка_.Получить(Док.Вид());
        Если ПустоеЗначение(СЗ) = 1 Тогда
            СЗПоля_ = СоздатьОбъект("СписокЗначений");
            Для а = 1 По Метаданные.Документ(Док.Вид()).РеквизитШапки() Цикл;
                СЗПоля_.ДобавитьЗначение(Метаданные.Документ(Док.Вид()).РеквизитШапки(а).Идентификатор);
            КонецЦикла;
            Для а = 1 По Метаданные.ОбщийРеквизитДокумента() Цикл
                СЗПоля_.ДобавитьЗначение(Метаданные.ОбщийРеквизитДокумента(а).Идентификатор);
            КонецЦикла;
            СЗШапка_.Установить(Док.Вид(),СЗПоля_);
            СЗ = СЗШапка_.Получить(Док.Вид());
        КонецЕсли;
        Для а =1 По СЗ.РазмерСписка() Цикл
            Идентификатор_ = СЗ.ПолучитьЗначение(а);
            Стр_ = Док.ПолучитьАтрибут(Идентификатор_);
            Если Найти(Врег(Стр_),Поиск_) > 0 Тогда
                ВсегоНайдено_ = ВсегоНайдено_ + 1;
                ТЗРезультат.НоваяСтрока();
                ТЗРезультат.Документ = Док.ТекущийДокумент();
                ТЗРезультат.Описание = ""+сокрЛП(Стр_)+" в "+Идентификатор_+" "+Док.ТекущийДокумент();
            КонецЕсли;
        КонецЦикла;
        СЗ = СЗТаблица_.Получить(Док.Вид());
        Если ПустоеЗначение(СЗ) = 1 Тогда
            СЗПоля_ = СоздатьОбъект("СписокЗначений");
            Для а = 1 По Метаданные.Документ(Док.Вид()).РеквизитТабличнойЧасти() Цикл;
                СЗПоля_.ДобавитьЗначение(Метаданные.Документ(Док.Вид()).РеквизитТабличнойЧасти(а).Идентификатор);
            КонецЦикла;
            СЗТаблица_.Установить(Док.Вид(),СЗПоля_);
            СЗ = СЗТаблица_.Получить(Док.Вид());
        КонецЕсли;
        Док.ВыбратьСтроки();
        Пока Док.ПолучитьСтроку()= 1 Цикл
            Для а =1 По СЗ.РазмерСписка() Цикл
                Идентификатор_ = СЗ.ПолучитьЗначение(а);
                Стр_ = Док.ПолучитьАтрибут(Идентификатор_);
                Если Найти(Врег(Стр_),Поиск_)> 0 Тогда
                    ВсегоНайдено_ = ВсегоНайдено_ + 1;
                    ТЗРезультат.НоваяСтрока();
                    ТЗРезультат.Документ = Док.ТекущийДокумент();
                    ТЗРезультат.Описание = ""+сокрЛП(Стр_)+" в "+Идентификатор_+" в строке "+Док.НомерСтроки+" "+Док.ТекущийДокумент();
                КонецЕсли;
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;
    Если ВсегоНайдено_ > 0 Тогда
        Рез = 0;
        Если ТЗРезультат.ВыбратьСтроку(Рез,"Результаты поиска",) = 1 Тогда
            ТЗРезультат.ПолучитьСтрокуПоНомеру(Рез);
            ОткрытьФорму(ТЗРезультат.Документ);
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры//глГлобальныйПоиск
3

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. aves 209 23.04.14 13:59 Сейчас в теме
2. zsi_uk 05.04.19 17:21 Сейчас в теме
Спасибо, интересная обработка. Случайно увидел, подключил к своей базе, нравится как работает.
Оставьте свое сообщение

См. также

Дистрибьюция 7.7. Часть 1. Жизненный цикл заявки покупателя. Одна заявка покупателя, много адресов доставки. 1

Статья Программист Нет файла v7.7 1С7:Комплекс 1С7:ТиС УУ Бесплатно (free) Практика программирования Адаптация типовых решений

Описан способ работы с учетом расписания с приоритетными покупателями - торговыми сетями (основными покупателями) в торговой или комплексной учетной системе на 1С 7.7. Множественная заявка покупателя на несколько торговых точек.

14.10.2019    1495    ksnik    0       

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

Проверка часового пояса 9

Статья Программист Нет файла v7.7 Windows Бесплатно (free) Практика программирования

При использовании терминалок для удаленных баз, иногда при входе в базу данных необходимо исключить возможность входа пользователей с компьютеров с другим часовым поясом. Например, работают в Новосибирской базе с временем UTC +6 и пытаются зайти в базу с UTC +3.

16.05.2016    8714    kudenzov    3       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

[ПОЛЕЗНЯШКА, 7.7] Как посчитать итоги по документам черным запросом с изподвывертом? 13

Статья Программист Нет файла v7.7 1cv7.md Windows Бесплатно (free) Практика программирования

Мелкая полезняшка, считает запросом итоговую сумму документов и количество документов.

12.03.2016    16032    CheBurator    18       

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция 111

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования WEB

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    49834    Serginio    33       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

.Net в 1С. Асинхронные HTTP запросы, отправка Post нескольких файлов multipart/form-data, сжатие трафика с использованием gzip, deflate, удобный парсинг сайтов и т.д. 37

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент WEB

Очень часто нужно при работе с HTTP сервисами или сайтами использовать Асинхронные HTTP запросы, отправку на сервер нескольких файлов, использование сжатия трафика. Эта статья про то, как этого легко добиться.

09.03.2016    26768    Serginio    22       

Использование классов .Net в 1С для новичков 148

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент Универсальные функции

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    64674    Serginio    104       

Онлайн-интенсив "Бизнес-процессы для подготовки к экзамену 1С:Специалист по платформе" 12 декабря 2019 г. Промо

На интенсиве будут рассмотрены все теоретические вопросы, связанные с устройством механизма бизнес-процессов – это необходимо для успешной сдачи экзамена 1С:Специалист по платформе. Также, в качестве практического примера, будет решена задача, аналогичная экзаменационной.

777 рублей

Пример HTTP запроса к УТМ ЕГАИС на платформе 1С 7.7 15

Статья Программист Нет файла v7.7 1cv7.md Россия Windows Оптовая торговля Розничная торговля Бесплатно (free) Практика программирования Внешние источники данных

Запрос реализован на объекте ServerXMLHTTP из встроенной в Windows библиотеки MSXML, результатом запроса является XML объект DOMDocument из той же библиотеки MSXML со встроенным интерфейсом его обработки

16.12.2015    20804    Palmer1976    3       

Экспорт нескольких MXL таблиц в один XLS файл, на отдельные листы. Простой алгоритм 20

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Статья посвящена распространённому вопросу - как сохранить несколько таблиц (отчетов) в формате MXL, с которым работает 1С, на отдельные листы одного Excel файла. Освещается простой алгоритм решения проблемы штатными средствами, без использования внешних модулей и библиотек (не относящихся к 1С и Excel).

23.11.2015    14599    etmarket    14       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Процедура расшифровки ячейки таблицы в отчетах 1С 7.7 11

Статья Программист Нет файла v7.7 1cv7.md Windows Бесплатно (free) Практика программирования Универсальные функции

Хочу поделиться с вами универсальной процедурой для расшифровки ячеек печатной формы отчетов в 1С 7.7.

24.09.2015    14320    Anzhey    13       

Универсальный способ сравнения таблиц 16

Статья Программист Нет файла v7.7 v8 Бесплатно (free) Практика программирования

На эту тему уже есть статьи, но этот способ нигде не описан. Хотя я его использую с тех пор, как занимаюсь программированием. Его преимущество в простоте и универсальности: можно применять на 1С, SQL, а также в любом другом языке программирования.

05.07.2015    15777    json    1       

С 2020 года сервис «Продление поддержки конфигурации 1С:УПП» подорожает вдвое Промо

Успейте продлить поддержку УПП до повышения цен! Фирма «1С» предупредила об изменении цен на сервис «Продление поддержки конфигурации "1С:Управление производственным предприятием"». С 1 января 2020 года сервис подорожает в два раза.

Числа прописью в родительном падеже в 7.7? Легко! 13

Статья Программист Нет файла v7.7 1cv7.md Windows Бесплатно (free) Практика программирования

Вывод числительных прописью в родительном падеже штатными средствами в три строчки кода.

20.06.2015    10521    gimalaj    3       

Хитрости сохранения табличного документа в Excel для дальнейшей работы с ним 78

Статья Программист Нет файла v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Все пользователи 1С всех версий (начиная с 7-й) сталкиваются с проблемой нормальной работы с данными, сохраненными в Excel файл. Есть некоторые хитрости, которые позволяют облегчить работу с сохраненными данными из 1С в формат Excel.

16.01.2015    73593    shmellevich    35       

Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо

Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).

от 11000 до 29000 рублей

Исправление в типовой комплексной конфигурации глобальной функции глВсеРеквизитыДокументаЗаполнены() 4

Статья Программист Нет файла v7.7 1С7:Комплекс Россия Windows Бесплатно (free) Практика программирования

В типовых конфигурациях глобальная функция глВсеРеквизитыДокументаЗаполнены() не работает с реквизитами табличной части. Данная статья содержит текст исправленной функции, корректно проверяющей табличную часть.

20.08.2014    6361    hvv2002    0       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

ЗаполнитьЗначенияСвойств - заставляем работать в 7.7 11

Статья Программист Нет файла v7.7 1cv7.md Бесплатно (free) Практика программирования

Если вы используете в работе 1С:Предприятие 8.х, то наверняка знакомы и с замечательной системной процедурой, как ЗаполнитьЗначенияСвойств(). Ее использование помогает значительно упростить написание программного кода в ряде случае, делает его (код) более наглядным и простым. Но что же делать тем, кто до сих пор использует (постоянно или иногда) 1С:Предприятие 7.7?

24.07.2014    19301    tomvlad    5       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

Полезные функции. Склонение (должность и фамилия подписантов). Любой язык 3

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования

Уехал директор в командировку, отпуск... , оставил доверенность на хозяйственные операции на другого сотрудника. Все договора и другие документы в обмороке - "подписант" теперь другой, по тексту тоже много правок... Пересмотрел много публикаций, вариантов много, не приглянулось. Сделал свой "Баян" . У меня всего-то крутится пять фигурантов ... Нет простого, наглядного и всепогодного варианта без языкового барьера. Всем процессом управляет пользователь.

03.03.2014    15762    kompas-dm    5       

Коллективная разработка на 1С версии 7.7 и Git 21

Статья Программист Нет файла v7.7 Россия Windows Бесплатно (free) Инструментарий разработчика Разработка внешних компонент

В данной статье я не буду рассматривать работу с системой контроля версий Git, для этого есть специальные ресурсы, например http://git-scm.com/book/ru. Я только расскажу тем, кто привык и любит Git, подружить старую добрую 7-ку и систему контроля версий Git.

17.09.2013    15670    s.nek    12       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.127.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Реализация Ctrl+Z в 1С 7.7 (ТиС) 7

Статья Программист Нет файла v7.7 1С7:ТиС Windows Бесплатно (free) Практика программирования

В семерке отсутствует возможность отменять последнее действие в формах документов. В данной статье будет рассмотрен пример реализации данной функции. Возможно, кому-нибудь пригодится.

15.07.2013    5930    a.o.popova    10       

Копия напечатанного документа или как спрятать документ. 2

Статья Программист Нет файла v7.7 Бесплатно (free) Журнал регистрации Практика программирования

Возникла необходимость, чтобы при печати определённого документа (даже потом не сохранённого), создавалась его копия, т.е. запись всех напечатанных документов. (В результате чего возникла такая потребность, полагаюсь на вашу фантазию). В итоге получилось два варианта решения, остановился на втором.

11.04.2013    13608    Dima_    8       

Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо

Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.

29700 руб.

Автосохранение документа в 1С 7.7 3

Статья Программист Нет файла v7.7 1cv7.md Россия Windows Бесплатно (free) Практика программирования

В данной статье мы рассмотрим автосохранение документа в 1С 7.7!

22.03.2013    11532    aagubarev    25       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

Конвертация данных 2.1 (2.1.3.1) 1С 7.7 - 1С 8.Х передача параметра ПКО 14

Статья Системный администратор Программист Нет файла v7.7 v8 КД Бесплатно (free) Практика программирования Перенос данных из 1С7.7 в 1C8.X

Передача параметров по умолчанию доступна только для баз 1С 8.х -1С 8.х. Показан пример, как передать параметры из 1С 7.7 - 1С 8.х

10.12.2012    22801    serg_gres    6