Строка поиска по справочникам "Номенклатура" и "Контрагенты"

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

Администрирование - Администрирование данных 1С - Поиск данных

Поиск элемента справочника набором фрагментов искомых слов в произвольном порядке.

Здравствуйте, друзья!

При работе с номенклатурой порой тяжело вспомнить точное название нужного элемента. Сижу, смотрю в экран, в голове что-то похожее мелькает, а ухватить мысль не сразу получается. И требуется то вспомнить именно самое начало, потому что встроенный поиск так устроен. Нет начала - нет и элемента. Делать нечего, мысль не пришла. Начинаю раскрывать папку за папкой в дереве справочника, опускаясь в самый нижний слой, а вот он, голубчик!

Если организовать поиск, набирая слова или отрывки слов в произвольном порядке, которые помнишь – вот это другое дело. Для этого мы построим запрос по каждому запрашиваемому фрагменту. Фрагменты искомого названия при подборе будем разделять пробелом.

Для дополнительного удобства сделаем транслитерацию латинского алфавита русским. Это позволит не переключаться между раскладкой клавиатуры и всё писать по-русски. Например, вместо буквы "g" будем смело писать "ж" или "г", кто как эту букву слышит. Когда в строке поиска будет более одной буквы, внизу откроется список, в который попадут первые 10 элементов справочника, названия которых (полное или короткое) полностью включают все набранные фрагменты. Если набор будет уникальным, то значение выберется автоматически.

Есть один нюанс с выпадающим списком поля ввода. Этот список ни сам не раскрывается, ни программных средств его открыть не существует. И когда набираешь искомые слова, не видишь подсказки. Для этого мы сделаем маленькую хитрость: под поле ввода и место выпадения списка выбора подложим таблицу, содержание которой будет повторять содержание списка выбора. И затем будем управлять видимостью этой таблицы: есть выбор - видна, нет выбора - нет таблицы. В таблице первый элемент будет всегда пустым, поэтому это место должно находиться под строкой ввода, с небольшим смещением вниз.

Перем ТаблицаРезультата;

//Каждый набранный символ будет вызывать здесь событие
Процедура СтрокаПоискаАвтоПодборТекста(Элемент, Текст, ТекстАвтоПодбора, СтандартнаяОбработка)
   
ТекстПоиска = СокрЛП(Текст);
   
ЭлементыФормы.СтрокаПоиска.ЦветФонаПоля = Новый Цвет(255, 255, 255);
   
//Менее двух символов за запрос не считаем
   
Если СтрДлина(ТекстПоиска) < 2 Тогда
       
ОчиститьСписки();
        Возврат;
    КонецЕсли;
   
//Составим список из набранных фрагментов
   
СписокФрагментов = Новый СписокЗначений;
   
МестоПробела = 1;
    Пока
МестоПробела > 0 Цикл
       
МестоПробела = Найти(ТекстПоиска, " ");
        Если
МестоПробела > 0 Тогда
           
СписокФрагментов.Добавить(Лев(ТекстПоиска, МестоПробела - 1));
           
ТекстПоиска = СокрЛП(Прав(ТекстПоиска, СтрДлина(ТекстПоиска) - МестоПробела));
        Иначе
           
СписокФрагментов.Добавить(СокрЛП(ТекстПоиска));
        КонецЕсли;
    КонецЦикла;
   
СделатьВыбор(СписокФрагментов);
КонецПроцедуры

//Делаем выбор из выпадающего списка с клавиатуры (стрелки вверх, вниз и enter)
Процедура СтрокаПоискаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
   
текИндексСпискаВыбора = Элемент.СписокВыбора.Индекс(Элемент.СписокВыбора.НайтиПоЗначению(ВыбранноеЗначение));
   
ЭлементыФормы.СтрокаПоиска.ЦветФонаПоля = Новый Цвет(240, 255, 240);
   
ОчиститьСписки();
   
ПолучитьИнформацию(ТаблицаРезультата[текИндексСпискаВыбора].Ссылка);
КонецПроцедуры

//Кнопка очистки ещё подчистит все списки
Процедура СтрокаПоискаОчистка(Элемент, СтандартнаяОбработка)
   
ЭлементыФормы.СтрокаПоиска.ЦветФонаПоля = Новый Цвет(255, 255, 255);
   
ОчиститьСписки();
КонецПроцедуры

//Делаем выбор из таблицы выбора (при помощи мыши)
Процедура ТаблицаВыбораПриАктивизацииСтроки(Элемент)
    Если НЕ
ЭлементыФормы.ТаблицаВыбора.Видимость Тогда Возврат КонецЕсли;
   
текИндексТаблицыВыбора = ТаблицаВыбора.Индекс(Элемент.ТекущаяСтрока);
    Если
текИндексТаблицыВыбора = 0 Тогда Возврат КонецЕсли;
   
ЭлементыФормы.СтрокаПоиска.Значение = ЭлементыФормы.СтрокаПоиска.СписокВыбора[текИндексТаблицыВыбора - 1];
   
ЭлементыФормы.СтрокаПоиска.ЦветФонаПоля = Новый Цвет(240, 255, 240);
   
ОчиститьСписки();
   
ПолучитьИнформацию(ТаблицаРезультата[текИндексТаблицыВыбора - 1].Ссылка);
КонецПроцедуры

//По результатам запроса при необходимости заполняем список выбора, таблицу выбора
Процедура СделатьВыбор(СписокФрагментов)
   
//Получаем таблицу с найденными элементами
   
ТаблицаРезультата = ЗапросПоиска(СписокФрагментов);
   
ОчиститьСписки();
   
//Имеем три варианта:
    //Элементы не найдены
   
Если ТаблицаРезультата.Количество() = 0 Тогда
       
ЭлементыФормы.СтрокаПоиска.ЦветФонаПоля = Новый Цвет(255, 216, 128);
   
//Найден один элемент, что и требовалось. Теперь уходим отсюда.
   
ИначеЕсли ТаблицаРезультата.Количество() = 1 Тогда
       
ЭлементыФормы.СтрокаПоиска.ЦветФонаПоля = Новый Цвет(240, 255, 240);
       
ЭлементыФормы.СтрокаПоиска.Значение = ТаблицаРезультата[0].Наименование;
       
ПолучитьИнформацию(ТаблицаРезультата[0].Ссылка);
   
//Найдено много элементов
   
Иначе
       
ЭлементыФормы.СтрокаПоиска.ЦветФонаПоля = Новый Цвет(255, 255, 255);
       
КоличествоНайденныхЭлементов = ТаблицаРезультата.Количество();
        Для
текСтрока = 1 По КоличествоНайденныхЭлементов Цикл
           
ТаблицаВыбора.Добавить();
        КонецЦикла;
       
ТаблицаВыбора.ЗагрузитьКолонку(ТаблицаРезультата.ВыгрузитьКолонку("Наименование"), "Наименование");
       
ТаблицаВыбора.Вставить(0);
       
ЭлементыФормы.СтрокаПоиска.СписокВыбора.ЗагрузитьЗначения(ТаблицаРезультата.ВыгрузитьКолонку("Наименование"));
       
ЭлементыФормы.ТаблицаВыбора.ТекущаяСтрока = ТаблицаВыбора[0];
       
ЭлементыФормы.ТаблицаВыбора.Высота = (КоличествоНайденныхЭлементов + 1) * 19 + 2 ;
       
ЭлементыФормы.СтрокаПоиска.КнопкаСпискаВыбора = Истина;
       
ЭлементыФормы.ТаблицаВыбора.Видимость = Истина;
    КонецЕсли;
КонецПроцедуры

//Сам запрос
Функция ЗапросПоиска(СписокФрагментов)
   
текЗапрос = Новый Запрос;
   
ТекстФрагментов = "";
    Для Каждого
текСтрока Из СписокФрагментов Цикл
       
текНомерСтроки = СписокФрагментов.Индекс(текСтрока);
       
текФрагмент = текСтрока.Значение;
       
//Для каждого искомого фрагмента создадим фильтр в запросе,
        //Ищем в наименовании, полном наименовании с транслитом и без
       
ТекстФрагментов = ТекстФрагментов + "
            |   "
+ ?(текНомерСтроки > 0, "И ", "") + "(Наименование ПОДОБНО ""%"" + &ФрагментКириллица" + текНомерСтроки + " + ""%""
            |   ИЛИ НаименованиеПолное ПОДОБНО ""%"" + &ФрагментКириллица"
+ текНомерСтроки + " + ""%""
            |   ИЛИ Наименование ПОДОБНО ""%"" + &Фрагмент1Транслит"
+ текНомерСтроки + " + ""%""
            |   ИЛИ НаименованиеПолное ПОДОБНО ""%"" + &Фрагмент1Транслит"
+ текНомерСтроки + " + ""%""
            |   ИЛИ Наименование ПОДОБНО ""%"" + &Фрагмент2Транслит"
+ текНомерСтроки + " + ""%""
            |   ИЛИ НаименованиеПолное ПОДОБНО ""%"" + &Фрагмент2Транслит"
+ текНомерСтроки + " + ""%"")";
       
//и установим параметры
       
текЗапрос.УстановитьПараметр("ФрагментКириллица" + текНомерСтроки, текФрагмент);
       
СписокТранслита = Транслит(текФрагмент);
       
текЗапрос.УстановитьПараметр("Фрагмент1Транслит" + текНомерСтроки, СписокТранслита[0].Значение);
       
текЗапрос.УстановитьПараметр("Фрагмент2Транслит" + текНомерСтроки, СписокТранслита[1].Значение);
    КонецЦикла;
   
текЗапрос.Текст = "
        |   ВЫБРАТЬ ПЕРВЫЕ 10
        |       Ссылка,
        |       Наименование
        |   ИЗ
        |       (ВЫБРАТЬ
        |           Ссылка,
        |           Наименование,
        |           ВЫРАЗИТЬ(НаименованиеПолное КАК СТРОКА(200)) КАК НаименованиеПолное
        |       ИЗ Справочник.Контрагенты ГДЕ НЕ Ссылка.ЭтоГруппа
        |       ОБЪЕДИНИТЬ
        |       ВЫБРАТЬ
        |           Ссылка,
        |           Наименование,
        |           ВЫРАЗИТЬ(НаименованиеПолное КАК СТРОКА(200)) КАК НаименованиеПолное
        |       ИЗ Справочник.Номенклатура ГДЕ НЕ Ссылка.ЭтоГруппа
        |       ) КАК Вложение
        |   ГДЕ
        |       "
+ ТекстФрагментов + "";
    Возврат
текЗапрос.Выполнить().Выгрузить();
КонецФункции

//Параллельно кириллице будем искать фрагменты на латинице,
//в двух вариантах из-за различия транслитирации некоторых букв
Функция Транслит(Фрагмент)
   
СписокТранслита = Новый СписокЗначений;
   
Кириллица = "абвгдежзийклмнопрстуфхц";
   
Латиница1 = "abvgdegzijklmnoprstufhc";
   
Латиница2 = "abwgdejzijqlmnoprstufhc";
   
КириллицаДиграф = "ч ш ";
   
ЛатиницаДиграф = "chsh";
   
Транслит1 = "";
   
Транслит2 = "";
    Для
позиция = 1 По СтрДлина(Фрагмент) Цикл
       
текБуква = Сред(Фрагмент, позиция, 1);
       
вШаблоне = Найти(Кириллица, текБуква);
        Если
вШаблоне > 0 Тогда
           
Транслит1 = Транслит1 + Сред(Латиница1, вШаблоне, 1);
           
Транслит2 = Транслит2 + Сред(Латиница2, вШаблоне, 1);
            Продолжить;
        КонецЕсли;
       
вШаблоне = Найти(КириллицаДиграф, текБуква);
        Если
вШаблоне > 0 Тогда
           
Транслит1 = Транслит1 + Сред(ЛатиницаДиграф, вШаблоне, 2);
           
Транслит2 = Транслит2 + Сред(ЛатиницаДиграф, вШаблоне, 2);
            Продолжить;
        КонецЕсли;
       
Транслит1 = Транслит1 + текБуква;
       
Транслит2 = Транслит2 + текБуква;
    КонецЦикла;
   
СписокТранслита.Добавить(Транслит1);
   
СписокТранслита.Добавить(Транслит2);
    Возврат
СписокТранслита;
КонецФункции

//Очистка списка выбора и таблицы выбора
Процедура ОчиститьСписки()
   
ЭлементыФормы.ТаблицаВыбора.Видимость = Ложь;
   
ТаблицаВыбора.Очистить();
   
ЭлементыФормы.СтрокаПоиска.СписокВыбора.Очистить();
   
ЭлементыФормы.СтрокаПоиска.КнопкаСпискаВыбора = Ложь;
КонецПроцедуры

//Здесь будет любая наша обработка результата поиска
Процедура ПолучитьИнформацию(текОбъект)
    Если
ТипЗнч(текОбъект) = Тип("СправочникСсылка.Контрагенты") Тогда
       
//Это контрагент
   
Иначе
       
//Это номенклатура
   
КонецЕсли;
   
//Например
   
текОбъект.ПолучитьФорму().Открыть();
КонецПроцедуры

В результате мы получили строку поиска, по своим удобствам похожую на строку поисковых сайтов. Справочники Номенклатура и Контрагенты здесь объединены в качестве примера. Можно искать как в справочнике, так и в документах, слегка подправив запрос.

Также обнаружены некоторые ограничения при использовании:

-При быстром удалении слов из строки клавиатурой событие в процедуре СтрокаПоискаАвтоПодборТекста не вызывается, и таблица выбора остаётся открытой.

-В транслитерации есть три буквы, которые имеют два значения в латинице (в - v, w; ж - g, j; к - k, q). Если их использовать перекрёстно, то в первом варианте, то во втором, тогда такое слово не найдётся.

В будущем, надеюсь, решения для снятия этих ограничений будут найдены.

С уважением, Лёлёсь

Скачать файлы

Наименование Файл Версия Размер
СтрокаПоиска_v8.2.epf

.epf 8,99Kb
19.02.12
113
.epf 8,99Kb 113 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ninch 50 20.02.12 12:12 Сейчас в теме
Молодец! Хорошая задумка и реализация. Чувствуется где-то была задача поставлена под эту разработку. Так то наврядли кто бы стал такое чудо делать:)
2. leles 66 20.02.12 13:36 Сейчас в теме
(1) Спасибо, друг!
Делал для себя, теперь и для Вас!
3. cool.vlad4 45 20.02.12 13:49 Сейчас в теме
вот , как мне кажется, более навороченная и универсальная - http://infostart.ru/public/89892/
4. leles 66 20.02.12 14:20 Сейчас в теме
(3) Да, спасибо за ссылку, обязательно изучу
10. ms200999 22.02.12 16:19 Сейчас в теме
(3) Согласен. У себя сделал поиск на основе именно той публикации, добавил поддержку транслита и учел ошибку выбора раскладки. При вводе подстроки "дел" ищем "дел", "del" и "ltk". Здорово помогает как тем, кто забывает переключать язык ввода, так и тем, кто не помнит, какими символами - кириллицей и латиницей - записана исклмая строка.
5. Smaylukk 832 21.02.12 00:14 Сейчас в теме
Тоже присоединяюсь - хорошее решение. Правда когда реализовывал у себя подобное - делал еще дополнительные возможности, которые здесь тоже не помешают.
1. Передавал в процедуру поиска имя справочника, по которому искать;
2. Передавал в процедуру поиска набор полей в виде массива, по которым нужно производить поиск;
И еще по поводу раскрытия списка выбора - пробуйте подергать методы ВыбратьИзСписка() или ВыбратьИзМеню() - если получится прикрутить - будет отлично, а то таблицу неудобно наверное встраивать в табчасть документа, когда нужно будет привязать к полю в ней этот чуджо-поиск :)
7. leles 66 21.02.12 01:06 Сейчас в теме
(5) Да, да точно! ВыбратьИзСписка() я пробовал приладить как и таблицу, но тогда никак не мог придумать, как только при помощи стрелки "вниз" перейти со строки поиска в этот список(таблицу). Чтобы всё делать с клавиатуры, без мыши. Решение нашёл что по стрелке "вниз" мы передвигаемся не в таблицу, а в выпадающий список, который выпадает над как раз над таблицей и полностью её повторяет так, что создаётся впечатление что мы спускаемся в таблицу.
Ну и конечно, успешно забыл про ВыбратьИзСписка(). А ведь можно всё организовать лучше! Спасибо! Буду переделывать.
По поводу расширения универсальности и новых возможностей - это здорово. Надо подумать.

(6) Чудаковато? - Согласен! Мы здесь немного все чудаки. Время ночь, а все у экрана и улучшать, улучшать :)
8. leles 66 21.02.12 01:30 Сейчас в теме
(5) А нет, не получиться. После появления списка из ВыбратьИзСписка() фокус переходит на этот список и следующую букву уже не набрать. А жаль.
9. Smaylukk 832 21.02.12 10:13 Сейчас в теме
(8) Можно попробовать завязаться на другое событие - ОкончаниеВводаТекста(), правда здесь пока пользователь не введет нужный текст и не нажмет Enter, список или подсказка не появится.
P.S. Я реализовывал как раз так :)
13. leles 66 24.02.12 19:13 Сейчас в теме
(9) Да, как вариант. Только хотелось как в поисковике: набрал пару букв - раз, подсказки.
Добрал ещё - более нужные подсказки, и выбрал из предложенного.

(10) Ошибка выбора раскладки это плюс! Если можно приведите Ваш кусок кода с транслитом и ошибкой.

(11) Спасибо, усовершенствовать обязательно буду. На мой взгляд, такой поиск наиболее необходим при подборе товара в документ. Только не знаю, возможно ли создать такую обработку, чтобы она была универсальной для любой конфигурации. Да и решение об изменении конфигурации это дело каждого. Так что пока набираю информацию.

(12) Да уж, и ведь это только ассортимент нашего ларька на Апрашке:)
17. mentozavr 48 13.03.13 09:30 Сейчас в теме
(5) Smaylukk, Сэр а как вы это сделали может кодом поделитесь. Заранее благодарю.
6. Rembi_999 21.02.12 00:35 Сейчас в теме
11. mkostya 28 22.02.12 20:41 Сейчас в теме
хорошее решение, очень понравилось.

(6) Чудаковато? Вполне сойдет за решение??

Не собираетесь и дальше её усовершенствовать???
12. Damian 898 22.02.12 21:03 Сейчас в теме
Особенно порадовал справочник "Номенклатура" на скринах. Сразу видно - серьезный бизнес :)
itsnowbars; Pawlick; fomix; +3 Ответить
14. anig99 2750 20.03.12 09:12 Сейчас в теме
А не лучше ли искать последовательно? Т.е. разбить строку поиска на подстроки и в цикле через временные таблицы ограничивать конечный список. Примерно так.

нап вент bo 112

Сначала делается запрос к справочнику номенклатура по подобию "нап". Сохраняется во временной таблице в запросе. Потом вторым запросом и последующими отрезаем лишнее от этой временной таблицы по подобно по 1 слову. Алгоритм будет не такой громоздкий. Да и по скорости может быть выигрыш.
15. Vladimir87 224 11.09.12 07:41 Сейчас в теме
Извиняюсь если был такой вопрос, но все же, в УТ 10.3 будет работать?
16. mentozavr 48 11.03.13 19:47 Сейчас в теме
а у меня как раз задача похожая стоит
18. Andromix 16.01.15 13:27 Сейчас в теме
Отличная обработка, теперь думаю как её прикрутить в форму номенклатуры, что бы при создании показывала похожие элементы
Оставьте свое сообщение

См. также

Правильные аналоги номенклатуры (кроссы запчастей) для 1С / Управляемые формы Промо

Обработка справочников Оптовая торговля Учет ТМЦ Оптовая торговля Учет ТМЦ v8 v8::УФ 1cv8.cf УУ Абонемент ($m)

По опыту работы с запчастями много раз сталкивался с проблемой организации кроссов в разных 1С - от записи артикулов через запятую в текстовом поле до хранения кроссов в документах. Предлагаю одну из простейших и функциональных на мой взгляд схем "одноуровневого" хранения кроссов.

5 стартмани

29.07.2015    34620    8    taurus__    22    

Быстрая функция поиска ссылки по УИД(GUID)

Поиск данных Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Простая, а самое главное быстрая функция поиска ссылки на объект в информационной базе по УИД(GUID) через запрос.

1 стартмани

11.04.2020    8702    36    Kondratenko.as    27    

Поиск пересекающихся ссылок на комбинации объектов с ограничением области поиска по метаданным

Поиск данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

12.03.2020    5769    13    sapervodichka    18    

Мастер полнотекстового поиска

Поиск данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Набор инструментов для работы с полнотекстовым индексом платформы 1С. Стандартные и расширенные возможности.

2 стартмани

07.02.2020    8599    68    YPermitin    28    

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо

Универсальные функции Инструментарий разработчика Учет ТМЦ Учет ТМЦ v8 1cv8.cf Россия БУ Абонемент ($m)

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

1 стартмани

17.08.2015    47205    156    ekaruk    32    

Помощник работы с идентификаторами объектов

Прочие инструменты разработчика Поиск данных v8 1cv8.cf Абонемент ($m)

Инструмент для расширенного анализа идентификаторов объектов.

2 стартмани

24.01.2020    9371    31    YPermitin    30    

Экспортные процедуры и функции общих модулей БП 3.0, ЗУП 3.1, УТ 11

Универсальные функции v8 1cv8.cf Россия Абонемент ($m)

Таблицы экспортных процедур и функций общих модулей конфигураций БП КОРП 3.0, ЗУП КОРП 3.1, УТ 11 + обработка по формированию такой таблицы из любой конфигурации.

14.06.2019    9651    22    SanchoD    29    

Подсистема для выгрузки, быстрого поиска и анализа журнала регистрации 1С в Elasticsearch

Журнал регистрации Поиск данных v8 1cv8.cf Абонемент ($m)

Elasticsearch - это opensource решение для очень быстрого поиска данных в больших массивах информации. Использование этого решения позволит решить проблемы с поиском и анализом больших объемов информации журнала регистрации. Протестировано на платформах начиная с 8.3.10.2580.

5 стартмани

15.05.2019    10205    25    Nikolo17    12    

Менеджер загрузки данных из весов с печатью этикеток Промо

Внешние источники данных Весы Учет ТМЦ Учет ТМЦ v8 УТ10 УПП1 Абонемент ($m)

Программное обеспечение "Менеджер загрузки данных из весов с печатью этикеток" предназначено для автоматического получения данных по сети Ethernet из весов МАССА-К моделей ВПМ и ТВ_Р3 (модификация MF) в режиме On-Line.

1 стартмани

20.12.2011    22545    4    hrip    10    

HTTP-сервис + интерфейс jquery.mobile + QR-код. Остатки в магазине с устройства под Android, Apple, Windows без установки 1С

Управление торговлей Оптовая торговля Учет ТМЦ Оптовая торговля Учет ТМЦ v8 УУ Абонемент ($m)

Была поставлена задача: Предоставить продавцам магазина быстрый доступ к остаткам размеров товара на складе магазина не отходя от покупателя.

1 стартмани

16.01.2019    13254    13    John_d    7    

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ v8 v8::Mobile БУ УУ Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    44735    250    informa1555    232    

Выгрузка изображений из справочника на диск

Учет ТМЦ Универсальные обработки Учет ТМЦ v8 УТ11 Оптовая торговля, дистрибуция, логистика Россия Абонемент ($m)

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

1 стартмани

30.11.2018    17732    6    wrooom    8    

Перемещение остатков по счету МЦ04 между материально ответственными лицами для конфигураций (8.2). Промо

Обработка документов Универсальные обработки Учет ТМЦ Учет ТМЦ v8 БП2.0 Россия БУ Абонемент ($m)

Небольшая обработка, которая позволяет перекидывать остатки по счету МЦ04 с одного материально ответственного лица на другое

1 стартмани

22.11.2012    15031    13    niksaf    4    

Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом

Печатные формы документов Универсальные функции Email v8 КА1 БП2.0 УТ10 УПП1 Абонемент ($m)

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

1 стартмани

21.09.2018    24480    17    stvorl    0    

TextRadar - нечеткий поиск в тексте

Разработка внешних компонент Поиск данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.09.2018    17413    23    TSSV    18    

Корректировка остатков ЕГАИС для 1С:Розница/УТ 10.3 - альтернативный вариант

Обработка документов Розничная торговля Учет ТМЦ Розничная торговля Учет ТМЦ v8 Розница Розничная и сетевая торговля (FMCG) БУ Абонемент ($m)

Обработка корректировки остатков ЕГАИС для 1С Розница версии 2.2.7/2.2.8/2.2.9/2.2.10/2.2.11/УТ 10.3.47.ХХХ-48.XXX-49.XXX-50.XXX раздельно по маркируемому/немаркируемому алкоголю + создание документов постановки/списания по пересортице.

1 стартмани

02.06.2018    34663    399    independ    276    

Переход с УСН на ОСНО. Формирование остатков НУ и данных по регистру затрат УчетЗатратРегл (РАУЗ) Промо

Свертка базы Универсальные обработки Учет ТМЦ Учет ТМЦ v8 КА1 Россия НУ Абонемент ($m)

Не знаете, как побороть сообщение "движения сформировались без суммовой оценки" при проведении документов после перехода на ОСНО - эта обработка для вас. Обработка выполняет закрытие остатков по счетам учета ТМЦ и формирование новых остатков на заданную пользователем дату с проверкой итоговых сумм и количества по БУ и НУ, а также закрытие остатков по старым ключам аналитики (без применения счетаНУ) и формирование новых остатков. Для конфигурации Комплексная Конфигурация 1.1

10 стартмани

30.01.2014    28198    21    buy_sale    7    

Андроид-решение для создания заказов в 1С

Рабочее место Оптовая торговля Учет ТМЦ Оптовая торговля Учет ТМЦ v8 1cv8.cf УУ Абонемент ($m)

Разработка создает заказы в 1С на Андроид-телефонах через RDP-клиент. Описана технология подобных разработок.

3 стартмани

23.03.2018    24038    16    Rustig    113    

СМС-верификация при регистрации клиента, списании бонусных баллов, СМС о начислении баллов

SMS рассылки Управление взаимоотношениями с клиентами (СRM) Розничная торговля Управление торговлей Управление взаимоотношениями с клиентами (СRM) Розничная торговля v8 v8::ОУ Розница УТ11 Розничная и сетевая торговля (FMCG) УУ Абонемент ($m)

Предлагаемое расширение для конфигурации 1С Управление Торговлей 11, и Розница 2 позволяет подтверждать операции с бонусными баллами с помощью СМС, отправляемых на телефон клиента. Также предлагается внешняя обработка для отправки информации о начислении бонусных баллов по СМС.

2 стартмани

16.03.2018    27263    139    Kutuzov    95    

Давно обещанная автовесовая 8.Х

Производство Учет ТМЦ Учет ТМЦ v8 Россия УУ Абонемент ($m)

Финальная версия автовесовой без оператора.

10 стартмани

02.01.2018    20674    6    Арчибальд    1    

Загрузка дополнительных реквизитов и сведений справочника Номенклатура из Excel и таблиц УТ 11, ERP 2

Обработка справочников Загрузка и выгрузка в Excel Учет ТМЦ Учет ТМЦ v8 v8::ОУ ERP2 УТ11 Россия УУ Абонемент ($m)

Внешняя обработка "Загрузка дополнительных реквизитов и сведений справочника Номенклатура"

1 стартмани

07.08.2017    41090    256    Windyhead    41    

Расширенный подбор товаров [Расширение]

Комиссионная торговля Оптовая торговля Розничная торговля Учет ТМЦ Обработка документов Обработка справочников Комиссионная торговля Оптовая торговля Розничная торговля Учет ТМЦ v8 ERP2 УТ11 КА2 Оптовая торговля, дистрибуция, логистика БУ УУ Абонемент ($m)

Расширенные возможности подбора товаров. Отображаются цены и свободные остатки, доступен переход к ожидаемым поступлениям и информация по складам.

5 стартмани

31.07.2017    28777    118    mrXoxot    77    

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения

Инструментарий разработчика Универсальные функции v8 v8::УФ 1cv8.cf Абонемент ($m)

Шаблон внешней обработки призван упростить программисту процесс реализации внешнего регламентного задания. Пригоден к использованию во всех конфигурациях на управляемых формах, в которых присутствует подсистема "Дополнительные отчеты и обработки" из состава библиотеки стандартных подсистем (БСП) версии 2.1 и выше.

1 стартмани

28.05.2017    25836    184    Bassgood    10    

Загрузка из Excel-файла данных в документ Поступление товаров и услуг

Обработка документов Загрузка и выгрузка в Excel Оптовая торговля Розничная торговля Учет ТМЦ Оптовая торговля Розничная торговля Учет ТМЦ v8 Розница БП3.0 УТ11 КА2 Россия БУ УУ Абонемент ($m)

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

1 стартмани

04.03.2017    31059    401    gzharkoj    117    

Отладка/доработка модуля менеджера "на лету"

Инструментарий разработчика Практика программирования Универсальные функции v8 1cv8.cf Абонемент ($m)

Данный прием позволяет отлаживать и дорабатывать модуль менеджера во внешней обработке без необходимости пересохранять конфигурацию и перезапускать базу

1 стартмани

23.10.2016    30061    20    json    22    

Управление небольшим проектом в стиле Канбан (аналог Trello досок)

Рабочее место Управление взаимоотношениями с клиентами (СRM) Управление взаимоотношениями с клиентами (СRM) v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

26.09.2016    21818    48    vagipov    30    

Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы

Практика программирования Универсальные функции v8 1cv8.cf Абонемент ($m)

Примеры взаимных преобразований Таблицы значения в Дерево значений или Табличный документ с использованием универсальных функций и макетов Системы компоновки данных. Примеры представлены в форме удобной для копирования в разработку.

1 стартмани

13.09.2016    38636    47    pavley2002    11    

Универсальный поиск объектов по глобальному уникальному идентификатору (ГУИД, GUID)

Универсальные обработки Поиск данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Универсальная обработка поиска объектов информационной базы по глобальному уникальному идентификатору (ГУИД, GUID) или по его части.

1 стартмани

06.09.2016    33273    103    Dzenn    9    

7 правил RFC 4180

Универсальные функции v8 1cv8.cf Россия Абонемент ($m)

Что такое CSV? Описание правил формата RFC4180 и пара функций чтения/записи CSV текста в ТЗ согласно этим рекомендациям (с экранированием и _поддержкой многострочных полей_).

1 стартмани

22.08.2016    18420    22    kuzyara    4    

Легкий интернет-магазин из УТ 11.2

WEB Управление взаимоотношениями с клиентами (СRM) Оптовая торговля Розничная торговля Управление взаимоотношениями с клиентами (СRM) Оптовая торговля Розничная торговля v8 УТ10 УУ Абонемент ($m)

Обработка создания интернет-магазина из УТ 11. Создается единственный файл html, который содержит все выгруженные товары. Клиент составляет и отправляет заказ вам на e-mail прямо из браузера, не прибегая к использованию стороннего ПО.

11.08.2016    31444    23    hlopik    36    

Остатки на каждый день в запросе

Практика программирования Учет ТМЦ Учет ТМЦ v8 1cv8.cf УУ Абонемент ($m)

Запрос формирует остатки товаров на каждый день в пределах выбранного периода.

1 стартмани

26.04.2016    58422    19    arakelyan    18    

Номенклатура (Расширенная форма списка) и Корзина [Расширение]

Рабочее место Обработка справочников Учет ТМЦ Учет ТМЦ v8 БП3.0 Абонемент ($m)

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

5 стартмани

29.02.2016    38249    113    mrXoxot    59    

Генерация QR-кода программная и интерактивная (код открыт, управляемая форма, обычное и управляемое приложение, API)

Универсальные функции Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработку можно быстро и легко интегрировать в любую конфигурацию с и без БСП (Библиотека Стандартных Подсистем).

3 стартмани

04.02.2016    48154    173    TuneSoft    30    

Пакетная замена номенклатуры с учетом характеристик

Обработка документов Оптовая торговля Учет ТМЦ Оптовая торговля Учет ТМЦ v8 КА1 УТ10 УПП1 УУ Абонемент ($m)

Обработка "Пакетная замена номенклатуры" в Заказе покупателя, Реализации и Поступлении товаров с использованием отбора по значениям характеристик

1 стартмани

22.01.2016    24109    6    trendy    1    

Автоматическая генерация Web-интерфейса с использованием http-сервисов

WEB Универсальные функции v8 1cv8.cf Абонемент ($m)

Пример автоматической генерации Web-интерфейса с использованием http-сервисов.

1 стартмани

03.01.2016    18765    74    BurningChrome    19    

Складские операции на ТСД

Терминал сбора данных Учет ТМЦ Учет ТМЦ v8 УУ Абонемент ($m)

Складская мобильная программа для терминалов сбора данных.

1 стартмани

15.11.2015    26777    4    JetBrain    8    

Автоматическая подстановка уничтожений временных таблиц в текст запроса

Универсальные функции v8 1cv8.cf Абонемент ($m)

Функция, которая сама подставляет в текст запроса "УНИЧТОЖИТЬ" в местах последнего использования ВТ.

1 стартмани

14.11.2015    20248    0    SeiOkami    3    

Нелинейная многомерная оптимизация - это просто. Часть 3. Имитация отжига

Инструментарий разработчика Математика и алгоритмы Универсальные функции v8 1cv8.cf Абонемент ($m)

Метод имитации отжига для поиска оптимального решения. И, как обычно, универсальная функция поиска этого самого решения.

1 стартмани

13.10.2015    18675    24    dusha0020    5    

Асинхронная загрузка данных на Управляемую Форму. Прогресс бар (УФ 8.3). Индикация состояния процесса

Работа с интерфейсом Универсальные функции Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

09.10.2015    36048    128    pbazeliuk    6    

Конвертация данных. Найдется все! И еще немного...

Поиск данных Инструментарий разработчика v8 КД Абонемент ($m)

Каждый разработчик, применяющий конфигурацию «1С:Конвертация данных», когда-нибудь обязательно сталкивается с проблемой поиска данных в правилах обмена и (или) регистрации данных.

2 стартмани

25.06.2015    28337    32    tomvlad    7    

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7

Универсальные функции Практика программирования v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    28128    3    Serginio    1    

Управление заявками пользователей (Service Desk). Платформа 8.3.12.1595. Управляемый интерфейс

Управление взаимоотношениями с клиентами (СRM) Управленческий учет (прочее) v8 v8::УФ УУ Абонемент ($m)

Управление заявками пользователей (Service Desk). Конфигурация разработана на управляемых формах с использованием бизнес-процесса.

1 стартмани

07.05.2015    20218    115    MaxCreator    6