|
v7: Не могу выбрать элемент справочника с заполненым "Наименование" | ☑ | ||
---|---|---|---|---|
0
YaroslavStr
20.08.13
✎
19:48
|
Не могу выбрать элемент справочника с заполненым "Наименование" при формировании списка ТЗ.
Перебирая все элементы справочника, не отображается элемент с заполненным реквизитом "Наименование". Разве такое может быть? Процедура Сформировать() //Очистим форму ТЗ от предыдущих записей ТЗ.Очистить(); ТЗ.НоваяКолонка("Адрес"); ТЗ.НоваяКолонка("Город"); ТЗ.НоваяКолонка("ДатаКонтакта"); ТЗ.НоваяКолонка("Должность"); ТЗ.НоваяКолонка("Фам", "Строка"); ТЗ.НоваяКолонка("Имя"); ТЗ.НоваяКолонка("Отчество"); ТЗ.НоваяКолонка("Моб1"); ТЗ.НоваяКолонка("Моб2"); ТЗ.НоваяКолонка("Моб3"); ТЗ.НоваяКолонка("Тел1"); ТЗ.НоваяКолонка("Тел2"); ТЗ.НоваяКолонка("Тел3"); ТЗ.НоваяКолонка("Организация"); Спр = СоздатьОбъект("Справочник.Контакты"); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() > 0 Цикл //Если Спр.ТекущийЭлемент().Код = 1 Тогда Сообщить(Спр.ТекущийЭлемент().Код); ТЗ.НоваяСтрока(); ТЗ.Фам = Спр.ТекущийЭлемент().Наименование; ТЗ.Адрес = Спр.ТекущийЭлемент().Адресс; ТЗ.Город = Спр.ТекущийЭлемент().Город.Наименование; ТЗ.ДатаКонтакта = Спр.ТекущийЭлемент().ДатаСохраненияЭлемента; ТЗ.Должность = Спр.ТекущийЭлемент().Должность; ТЗ.Имя = Спр.ТекущийЭлемент().Имя; ТЗ.Отчество = Спр.ТекущийЭлемент().Отчество; ТЗ.Моб1 = Спр.ТекущийЭлемент().Моб1; ТЗ.Моб2 = Спр.ТекущийЭлемент().Моб2; ТЗ.Моб3 = Спр.ТекущийЭлемент().Моб3; ТЗ.Тел1 = Спр.ТекущийЭлемент().Телефон1; ТЗ.Тел2 = Спр.ТекущийЭлемент().Телефон2; ТЗ.Тел3 = Спр.ТекущийЭлемент().Телефон3; ТЗ.Организация = Спр.ТекущийЭлемент().Организация; //КонецЕсли; КонецЦикла; КонецПроцедуры Эта процедура формирует ТЗ на основании списка элементов справочника "Контакты". Метод Сообщить() должен сообщить о коде элемента под номером 1 или 2, в котором заполнен реквизит "Наименование", но метод просто не находит этот элемент :) |
|||
1
NS
20.08.13
✎
19:52
|
При чем тут заполнен или нет реквизит наименование?
И справочник у тебя подчиненный. Ну и писать реквизиты через текущийэлемент() не надо. |
|||
2
YaroslavStr
20.08.13
✎
19:55
|
(1) Через .ТекущийЭлемент() - это уже из-за отчаяния. :) Думал, мало ли... Справочник не подчиненный. Элементы, в которых не заполнен реквизит "Наименование" заполняются строками в ТЗ без проблем.
|
|||
3
YaroslavStr
20.08.13
✎
19:57
|
Главное, что если удалишь значение в реквизите "Наименование" - все грузится. :)
|
|||
4
NS
20.08.13
✎
19:59
|
Напиши ТЗ.выбратьстроку()
И посмотри заполнена ли где-нибудь колонка "Фам" |
|||
5
YaroslavStr
20.08.13
✎
20:05
|
Поставил на исправление базы данных - может в этом проблема...
|
|||
6
YaroslavStr
20.08.13
✎
20:05
|
(4) Значение этой колонки пустое во всех строках - я пробовал.
|
|||
7
YaroslavStr
20.08.13
✎
20:19
|
При переборе 1С должна выбирать от первого и до последнего элемента, согласно его кода - правильно? От первого элемента с кодом "1" и до последнего с кодом "n"?
У меня перебирает элементы как-то странно: от 1 до 9, а потом может взять элемент с кодом 14367... |
|||
8
NS
20.08.13
✎
20:21
|
(7) Нет, по умолчанию - по наименованию.
Хочешь по коду - спр.порядоккодов() |
|||
9
YaroslavStr
20.08.13
✎
20:27
|
Вот тебе и на! Вроде знаю, а действительно в этом и была проблема!
Спр = СоздатьОбъект("Справочник.Контакты"); Спр.ПорядокКодов(); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() > 0 Цикл И все работает! :) Спасибо! |
|||
10
NS
20.08.13
✎
20:28
|
(9) И так работало, оно у тебя последним выходило, и ты просто не дожидался.
|
|||
11
YaroslavStr
20.08.13
✎
20:29
|
Я дожидался. Пробовал несколько раз - не выводило в ТЗ эти элементы ни в какую. Больше десяти раз пробовал... Странно как-то.
|
|||
12
YaroslavStr
20.08.13
✎
20:30
|
Я делал проверку:
Если Спр.Код = 1 Тогда Сообщить(Спр.Код); КонецЕсли; Результат: не сообщало. |
|||
13
NS
20.08.13
✎
20:31
|
(12) А если написать
Если сокрлп(Спр.Код) = "1" Тогда Сообщить(Спр.Код); КонецЕсли; |
|||
14
NS
20.08.13
✎
20:32
|
Или
Если число(сокрлп(Спр.Код)) = 1 Тогда Сообщить(Спр.Код); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |