Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
21 Янв 2018, 05:31
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Перебрать все значения в справочнике  (Прочитано 3510 раз)

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

Оффлайн malvina_l

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-12-08
  • Сайт: 
  • Профессия: Программист 1С
Наименование=справочники.1.НайтиПоНаименованию("Наименование");
     
   Запрос= новый Запрос;
   Запрос.Текст="ВЫБРАТЬ
   |1.ссылка,
   |1.Наименование КАК Наименование
   |ИЗ
   |Справочник.1 КАК1
   |";
     запрос.УстановитьПараметр("Наименование",Наименование);
            
            Результат = Запрос.Выполнить();
            Выборка = Результат.Выбрать();
            
            Пока выборка.Следующий() цикл
                     вр=Сред(Наименование,6);
             Если  Лев(вр,1) = " " тогда
                 вр=СокрЛП(вр);
                Наименование=Лев(Наименование,5)+" "+вр;
            КонецЕсли;
            конецЦикла;
во внешней обработке не работает, не знаю как перебрать все наименования справочника


Оффлайн Luzer1C

  • ****
  • Сообщений: 419
  • РЕПУТАЦИЯ: 40
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Может попробовать так:
запрос.УстановитьПараметр("%Наименование%",Наименование);
В данном случае запрос выберет все элементы справочника, имеющие вхождение в наименование Наименование.
Ибо в другом случае запрос выберет всего лишь один элемент справочника, а не все, которые содержат Наименование.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн sdilshod

  • **
  • Сообщений: 76
  • РЕПУТАЦИЯ: 11
  • КПД: 14%
  • Регистрация: 2013-09-30
  • Сайт: 
  • Профессия: Программист 1С
  Запрос= новый Запрос;
   Запрос.Текст="ВЫБРАТЬ
   |1.ссылка,
   |1.Наименование КАК Наименование
   |ИЗ
   |Справочник.1 КАК1
   |";
     запрос.УстановитьПараметр("Наименование",Наименование);

Здесь в запросе пропущено секция ГДЕ или это отпечатка?


Оффлайн malvina_l

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-12-08
  • Сайт: 
  • Профессия: Программист 1С
  Запрос= новый Запрос;
   Запрос.Текст="ВЫБРАТЬ
   |1.ссылка,
   |1.Наименование КАК Наименование
   |ИЗ
   |Справочник.1 КАК1
   |";
     запрос.УстановитьПараметр("Наименование",Наименование);

Здесь в запросе пропущено секция ГДЕ или это отпечатка?
да пропущена,будет так:
|ГДЕ 1.наименование=&Наименование

Оффлайн sdilshod

  • **
  • Сообщений: 76
  • РЕПУТАЦИЯ: 11
  • КПД: 14%
  • Регистрация: 2013-09-30
  • Сайт: 
  • Профессия: Программист 1С
| ГДЕ 1.наименование подобно "%СтрокаНаименование%"

Оффлайн malvina_l

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-12-08
  • Сайт: 
  • Профессия: Программист 1С
| ГДЕ 1.наименование подобно "%СтрокаНаименование%"
пишет поле не найдено "стрканаименование" и переменная не определена

Оффлайн KrivosheevEV

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 35
  • КПД: 17%
  • Регистрация: 2014-01-20
  • Сайт: 
  • Профессия: Программист 1С
Опечатка:
|Справочник.1 КАК1
Надо:
|Справочник.1 КАК 1

Или так:
Выборка = Справочники.1.Выбрать(,,Новый Структура("Наименование", "НужноеНаименованиеДляПоиска"));


Оффлайн malvina_l

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-12-08
  • Сайт: 
  • Профессия: Программист 1С
Опечатка:
|Справочник.1 КАК1
Надо:
|Справочник.1 КАК 1

Или так:
Выборка = Справочники.1.Выбрать(,,Новый Структура("Наименование", "НужноеНаименованиеДляПоиска"));
нужно перебрать все наименования из справочника

Оффлайн KrivosheevEV

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 35
  • КПД: 17%
  • Регистрация: 2014-01-20
  • Сайт: 
  • Профессия: Программист 1С
нужно перебрать все наименования из справочника

Выборка = Справочники.1.Выбрать();
Пока Выборка.Следующий() Цикл
    ТекущееНаименование = Выборка.Наименование;
    ИзменённоеНаименование = ?(ТекущееНаименование[6]= " ", Лев(ТекущееНаименование, 5) + " " + СокрЛП(Прав(ТекущееНаименование, СтрДлина(ТекущееНаименование) - 6)), ТекущееНаименование);
КонецЦикла;


Оффлайн LordWizard

  • "Иди учи бухгалтерский учет и не беспокой просьбами господа Бога!"
  • *****
  • Сообщений: 1463
  • РЕПУТАЦИЯ: 221
  • КПД: 15%
  • Пишу, консультирую, да и так - по клавишам...
  • Регистрация: 2011-07-25
    • Skype: warlock02121968
  • Сайт: 
  • Профессия: Консультант 1С
Не понимаю реально задачи.Если просто перебрать все наименования справочника, то ГДЕ не нужно, а нужен просто опрос справочника:
Запрос = Новый Запрос;
Запрос.Текст ="
|1.ссылка,
|1.Наименование КАК Наименование
|ИЗ
|Справочник.1 КАК 1
|";
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
    Сообщить("Наименование:" + Результат.Наименование);
КонецЦикла;

Если нужно найти в справочнике с поиском по конкретному значению Наименования, то добавляем секцию

|Где
|   1.Наименование = &ПоискНаименования
 
Перед получением запроса передаем параметр

Запрос.УстановитьПараметр("ПоискНаименования",ПараметрПоиска);
"ПараметрПоиска" - можем задавать по своему усмотрению или получать ранее по алгоритмам (пустым быть не должно - выдаст ошибку).
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)


Теги:
 

Значения некоторых колонок являются суммами некоторых колонок, которые в свою очередь так же являются суммами других. Как упорядочить?

Автор acces969Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 332
Последний ответ 26 Июн 2017, 14:32
от AsadRoman
Что быстрее: Загрузить табличную часть в запрос и там добавить колонки, или пробежаться циклом по ТЧ и добавить значения в колонки

Автор ZeedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1054
Последний ответ 11 Июл 2016, 09:00
от vitasw
Как сложить значения Столбца "Объем"

Автор anton.kislovРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 19
Просмотров: 14021
Последний ответ 04 Май 2017, 10:48
от ospov11789
Ошибка "Итератор для значения не определён"

Автор КараулРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 890
Последний ответ 17 Авг 2016, 11:25
от Караул
Нужна помощь в формировании отчета "Преобразование значения к типу Дата не может быть выполнено"

Автор STLuka1337Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2202
Последний ответ 14 Ноя 2014, 13:24
от cska-fanat-kz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
99 Сообщений
AIFrame
65 Сообщений
alex0402
32 Сообщений
kiksi
26 Сообщений
pavl_vs
24 Сообщений
alexandr_ll
17 Сообщений
andron81_81
16 Сообщений
Norfolk
15 Сообщений
KOI8-R
14 Сообщений
MuI_I_Ika MuI_I_Ika
13 Сообщений

* Кто онлайн

  • Точка Гостей: 121
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal