Имя: Пароль:
1C
 
Как найти элементы справочника, наменование которых начинается с ...?
0 Моха Лёхов
 
12.09.06
15:14
Это в продолжение темы v8: v8: Поле выбора. Как сделать, чтобы вводился новый элемент? :(.
Хотя бы вытянуть хочу инфу, есть ли в справочнике элементы, начинающиеся с введенной в поле комбинации клавиш или нет.
1 RomaH
 
naïve
12.09.06
15:15
подобно(Начало%)
2 Моха Лёхов
 
12.09.06
15:17
Оператор проверки строки на подобие шаблону
Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ.

Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:

% (процент): последовательность, содержащая любое количество произвольных символов
_ (подчеркивание): один произвольный символ
[…] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок
В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона.
[^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания
Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки.

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

Например, шаблон “%АБВ[0-9][абвг]\_абв%” СПЕЦСИМВОЛ “\” означает подстроку, состоящую из последовательности символов:
буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в.

Причем перед этой последовательностью может располагаться произвольный набор символов.
3 vasia
 
12.09.06
15:26
почту смотри
4 Моха Лёхов
 
12.09.06
15:27
(3) :). И почта из лички тоже отрублена :). Замуровали, демоны :). amohov()1cbit.ru
5 vasia
 
12.09.06
15:32
http://itland.ru/forum//index.php?showtopic=15514&hl=АвтоПодборТекста

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


Вызываем процедуру

1Cv8  
Процедура СотрудникЗаказчикОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
  ВводКонтактногоЛицаПоСтроке(Элемент, Текст, Значение, СтандартнаяОбработка, Контрагент, ЭтаФорма);
КонецПроцедуры
6 Моха Лёхов
 
12.09.06
15:34
ВЫБРАТЬ
   НомераГТД.Код
ИЗ
   Справочник.НомераГТД КАК НомераГТД
ГДЕ
   НомераГТД.Код ПОДРОБНО &Код

Что не так в запросе?
7 kag
 
12.09.06
15:35
А параметр чему равен?
8 Моха Лёхов
 
12.09.06
15:36
Поле код текстовое у справочника НомераГТД, проверил.
9 Моха Лёхов
 
12.09.06
15:36
(7) Строка: 0%
10 Моха Лёхов
 
12.09.06
15:37
ругается на слово "Подробно"
11 Моха Лёхов
 
12.09.06
15:37
блин!!! ПОДОБНО, а не ПОДрОБНО!!!
12 RomaH
 
naïve
12.09.06
15:37
ПОдРОБНО - ну правильно ругается
13 Моха Лёхов
 
12.09.06
15:39
Все, спасибо, разобрался :). Прим. В туповой УТ по слову ПОДОБНО еще надыбал ссылки на уже готовые процедурки типа как в (5).
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан