Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 18:33

Поиск по коду справочника по первому символу

Автор spapin, 04 июл 2013, 14:35

0 Пользователей и 1 гость просматривают эту тему.

spapin

Добрый день. Подскажите мне необходимо найти по коду справочника первый символ. Например все элементы справочника, у которых код начинается с "F000..."

Yura063

Берете код, если числовой переводите в строку и под условие
Если Найти(Строка(Код),ТоЧтоНадоНайти) = 1 Тогда
    //Тут все что дальше надо, если найдет!
КонецЕсли;

Это все в цикл по всем элементам.
Помогли, отблагодари!

MuI_I_Ika

Как то так:

"ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Код ПОДОБНО ""F000%"""

Yura063

Помогли, отблагодари!

spapin

Спасибо, сделал так:
ВыборкаЯчеек = Справочники.МестаХранения.Выбрать();
Пока ВыборкаЯчеек.Следующий() Цикл
Объект = ВыборкаЯчеек.ПолучитьОбъект();
код = ВыборкаЯчеек.Код;
   Если Лев(код,1) = ("F") Тогда
Сообщить("Нашёл!!" + код);
Объект.УстановитьПометкуУдаления(Истина,Ложь);
   КонецЕсли;
КонецЦикла;

Yura063

Если База на Скуле то лучше воспользуйся советом MuI_I_Ika!
Помогли, отблагодари!

spapin

Запрос меньше ресурсов будет потреблять или быстрее будет выполняться?

Yura063

Помогли, отблагодари!

spapin

Подскажите еще момент как удалить запись регистра сведений(строку)?
Выбсклад = Справочники.Склады.НайтиПоКоду("000000004");
Запрос = Новый Запрос( "ВЫБРАТЬ
                       | МестаХраненияНоменклатуры.Склад.Ссылка,
                       | МестаХраненияНоменклатуры.МестоХранения КАК МестоХранения
                       |ИЗ
                       | РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры
                       |ГДЕ
                       | МестаХраненияНоменклатуры.Склад = &выбСклад");
  Запрос.УстановитьПараметр("выбСклад", выбСклад);
 
  выборка = Запрос.Выполнить().Выбрать();
 
  Пока выборка.Следующий() Цикл
  //сообщить("" + выборка.СкладСсылка);
  Объект = выборка.МестоХранения.получитьОбъект();
  Попытка                           
  Объект.Удалить();
  Исключение
  КонецПопытки;
КонецЦикла; 


Тут я удалил просто место хранения :(
Добавлено: 04 июл 2013, 18:56


Вроде так
Выбсклад = Справочники.Склады.НайтиПоКоду("000000004");
Запрос = Новый Запрос( "ВЫБРАТЬ
                       | МестаХраненияНоменклатуры.Склад.Ссылка,
                       | МестаХраненияНоменклатуры.МестоХранения КАК МестоХранения
                       |ИЗ
                       | РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры
                       |ГДЕ
                       | МестаХраненияНоменклатуры.Склад = &выбСклад");
  Запрос.УстановитьПараметр("выбСклад", выбСклад);
 
  выборка = Запрос.Выполнить().Выбрать();
 
  Пока выборка.Следующий() Цикл
НаборЗаписей = РегистрыСведений.МестаХраненияНоменклатуры.СоздатьНаборЗаписей();
        НаборЗаписей.Отбор.Склад.Установить(выбСклад);
   
        НаборЗаписей.Очистить();
        НаборЗаписей.Записать();
КонецЦикла; 

GRADUS

Цитата: spapin от 04 июл 2013, 18:01
Подскажите еще момент как удалить запись регистра сведений(строку)?
Выбсклад = Справочники.Склады.НайтиПоКоду("000000004");
Запрос = Новый Запрос( "ВЫБРАТЬ
                       | МестаХраненияНоменклатуры.Склад.Ссылка,
                       | МестаХраненияНоменклатуры.МестоХранения КАК МестоХранения
                       |ИЗ
                       | РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры
                       |ГДЕ
                       | МестаХраненияНоменклатуры.Склад = &выбСклад");
  Запрос.УстановитьПараметр("выбСклад", выбСклад);
 
  выборка = Запрос.Выполнить().Выбрать();
 
  Пока выборка.Следующий() Цикл
  //сообщить("" + выборка.СкладСсылка);
  Объект = выборка.МестоХранения.получитьОбъект();
  Попытка                           
  Объект.Удалить();
  Исключение
  КонецПопытки;
КонецЦикла; 


Тут я удалил просто место хранения :(
Добавлено: 04 июл 2013, 18:56


Вроде так
Выбсклад = Справочники.Склады.НайтиПоКоду("000000004");
Запрос = Новый Запрос( "ВЫБРАТЬ
                       | МестаХраненияНоменклатуры.Склад.Ссылка,
                       | МестаХраненияНоменклатуры.МестоХранения КАК МестоХранения
                       |ИЗ
                       | РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры
                       |ГДЕ
                       | МестаХраненияНоменклатуры.Склад = &выбСклад");
  Запрос.УстановитьПараметр("выбСклад", выбСклад);
 
  выборка = Запрос.Выполнить().Выбрать();
 
  Пока выборка.Следующий() Цикл
НаборЗаписей = РегистрыСведений.МестаХраненияНоменклатуры.СоздатьНаборЗаписей();
        НаборЗаписей.Отбор.Склад.Установить(выбСклад);
   
        НаборЗаписей.Очистить();
        НаборЗаписей.Записать();
КонецЦикла; 


НаборЗаписей.Очистить();

Чего чистишь то?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск