Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Определение уровня элемента справочника

Кацурген
читатель
офлайн
Дата регистрации: 07.04.2008
Сообщений: 2
Пост №1
 
07.04.2008 12:18

Помогите пожалуйсто. Я новичок. Я создал много уровневый справочник и мне надо сделать отбор элементов по уровням, но не как не получается определить уровень элемента.

Иван Геннадьевич
читатель
офлайн
Дата регистрации: 26.04.2007
Сообщений: 262
Пост №2
 
07.04.2008 14:35

Функция называется Уровень(). Возвращает номер уровня текущего элемента справочника.

Кацурген
читатель
офлайн
Дата регистрации: 07.04.2008
Сообщений: 2
Пост №3
 
07.04.2008 17:01

"Помогите, я не совсем понял как работать с функцией перейти<br><br> 1)Пока Ит.ПолучитьСубконто(ВидыСубконто.СтатьиЗатрат) = 1 Цикл <br> 2) Ит.Субконто(ВидыСубконто.СтатьиЗатрат);<br> 3)Пока СпрСт.ПолучитьЭлемент() = 1 Цикл<br> 4) СпрСт.ТекущийЭлемент();<br> 5)Если СпрСт.Уровень() = 1 Тогда<br> 6)Таб.ВывестиСекцию("Субконто1Г");<br>       7)Перейти ...... ;<br>       8) Иначе<br> 9) Таб.ВывестиСекцию("Субконто1");<br>       10) КонецЕсли;       <br> 11) КонецЦикла;<br> 12) КонецЦикла; <br><br>Мне надо перейти от строки №7 к строке №12"

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20952
Пост №4
 
07.04.2008 17:50

Basic рулит!!! :). Вообщето есть оператор "Продолжить"

Иван Геннадьевич
читатель
офлайн
Дата регистрации: 26.04.2007
Сообщений: 262
Пост №5
 
07.04.2008 18:17

*вздох*<br><br>Prikum прав. Хватит ребячеством заниматься, купите нормальную книгу по алгоритмизации или получите наконец высшее образование по профилю.<br><br>В далёких 60-70-х анализ ошибок показал, что более 1/3 ошибок возникало из-за неправильной организации безусловных переходов (в 1С это команда Перейти). Решением стала "замена" этой команды на эквивалентные, используемые внутри циклов, которые заменили данную команду в 95% случаев. А теперь практика:<br><br>Продолжить - переход к следующей итерации цикла<br>Прервать - выход из цикла<br><br>Единственным случаем для которого осталась необходимость в команде Перейти (ради этого её собственно и оставили) - выход из глубоких циклов. Напр.:<br><br>цикл 1<br> ...<br> цикл 2<br> ...<br> цикл 3<br> ...<br> если Условие тогда<br>       перейти метка<br> конецесли<br> конеццикла 3<br> конеццикла 2<br>конеццикла 1<br>метка:<br><br>Дошло?

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №6
 
08.04.2008 09:35

"Да, сейчас редко в алгоритме встретишь такой прием как безусловный переход. Увидишь и мысль "о, кто то плохо подумал...". Я и из глубоких циклов делаю чуть по другому.<br>ПринудительныйВыход=0;<br>цикл 1<br>...<br>цикл 2<br> ...<br> цикл 3<br> ...<br> если Условие тогда<br>       ПринудительныйВыход=1;<br>       Прервать;<br> конецесли<br> конеццикла 3<br> Если ПринудительныйВыход=1 Тогда<br> Прервать;<br> КонецЕсли;<br>конеццикла 2<br>Если ПринудительныйВыход=1 Тогда<br> Прервать;<br>КонецЕсли;<br>конеццикла 1<br>"

Иван Геннадьевич
читатель
офлайн
Дата регистрации: 26.04.2007
Сообщений: 262
Пост №7
 
08.04.2008 10:41

Это одно из решений, но:<br>1. я бы не назвал его красивым и элегантным<br>2. лишние проверки (а они действительно лишние) не лучшим образом влияют на производительность. И хотя для 1С это не столь важно, но всё же, всё же...

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация