|
v7: Перебор элементов справочника | ☑ | ||
---|---|---|---|---|
0
st31
29.06.15
✎
04:57
|
Народ, что-то туплю на ровном месте. Надо перебрать элементы справочника "Сотрудники" Спр=СоздатьОбъект("Справочник.Сотрудники"); Спр.ПорядокНаименований();
Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент()=1 Цикл После этого вылетает сообщение "Не выбран элемент!" и цикл завершается. |
|||
1
Otkr
29.06.15
✎
04:58
|
Ох недоговариваешь ты, боярин... Вылетает изза кода в самом цикле, небось изменения вносишь
|
|||
2
st31
29.06.15
✎
05:06
|
(1) Дальше по алгоритму ничего не анализируется. Задача проста- выбрать сотрудников по алфавиту,занести их в таблицу и начислить им определенную сумму в зависимости от ыполненной работы.
Вылетает на строке начала цикла с сообщением "Не выбран элемент!", смотрю в отладчике |
|||
3
VladZ
29.06.15
✎
05:43
|
(0) Покажи код в цикле
|
|||
4
st31
29.06.15
✎
05:49
|
Спр=СоздатьОбъект("Справочник.Сотрудники"); Спр.ПорядокНаименований();
Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент()=1 Цикл Если НачМесяца(Спр.ДатаУвольнения)>=НачМесяца(ДатаДок) Тогда Если Спр.Подразделение.Получить(ДатаДок) <> Подразделение Тогда Продолжить; КонецЕсли; НоваяСтрока(); Сотрудник = Спр.ТекущийЭлемент(); Квыдаче=Цена; КонецЕсли; КонецЦикла; |
|||
5
st31
29.06.15
✎
05:54
|
Некрасиво записывается код.Как сделать, чтобы каждая строка записывалась с новой строки? В малом окне именно так я и делал, используя клавиши пробел, ввод и delete.А по факту оказалось некрасиво.
|
|||
6
Maximysis
29.06.15
✎
06:04
|
(4)"НоваяСтрока()" отрабатывает нормально?
"Сотрудник = Спр;" попробуй так. И пиши читабельно. |
|||
7
st31
29.06.15
✎
06:26
|
Как сделать, чтобы в большом окне каждая строка начиналась нормально?
Спр=СоздатьОбъект("Справочник.Сотрудники"); Спр.ПорядокНаименований(); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент()=1 Цикл //Дальше не идет, пишет не "выбран элемент!" Если (ПустоеЗначение(Спр.ДатаУвольнения)=1) или (НачМесяца(Спр.ДатаУвольнения)>=НачМесяца(ДатаДок)) Тогда Если Спр.Подразделение.Получить(ДатаДок) <> Подразделение Тогда Продолжить; КонецЕсли; НоваяСтрока(); Сотрудник = Спр.ТекущийЭлемент(); Квыдаче=Цена; КонецЕсли; КонецЦикла; |
|||
8
s911Oleg
29.06.15
✎
06:31
|
Ошибка, возможно, возникает из-за того, что в вашем справочнике есть группы. Надо их исключить перед условием.
|
|||
9
vip03
29.06.15
✎
07:29
|
Спр.ПорядокНаименований();
без этого работает? |
|||
10
st31
29.06.15
✎
07:49
|
Логика идет после начала цикла.
|
|||
11
st31
29.06.15
✎
07:54
|
Странное дело, заканчивалась виртуальная память у компа, перезагрузил комп, переписал наименование справочника Сотрудники" и заработало, правда в окне запуска 1С поудалялось половину ссылок на базы программ, с которыми я работал.
|
|||
12
Chameleon1980
29.06.15
✎
22:24
|
(11) ну это уж какие-то доп. глюки
куда они с реестра подевались? |
|||
13
Злопчинский
29.06.15
✎
22:33
|
(11) недоговариваешь ты, боярин...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |