|
v7: Пустой реквизит. | ☑ | ||
---|---|---|---|---|
0
progaoff
05.04.18
✎
14:01
|
СпрОбъектыДляПеч.ВыбратьСтроки();
НомерМесяца = МесяцаГода.ТекущаяСтрока(); ТабОбъекты.ВыбратьСтроки(); Пока ТабОбъекты.ПолучитьСтроку() = 1 Цикл Если ДатаМесяц(ТабОбъекты.Объект.ДатаЗаменыЭКЛЗ) = НомерМесяца Тогда Пока СпрОбъектыДляПеч.ПолучитьСтроку() = 1 Цикл Если СпрОбъектыДляПеч.Пометка = 1 Тогда СпрОбъектыДляПеч.Выбран = "+"; Иначе СпрОбъектыДляПеч.Выбран = "-"; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; Делаю такую процедуру, при обращении к Объекту, все реквизиты пустые, за исключением тех кто имеет ссылочный тип данных. Что не так делаю? Подскажите пожалуйста. |
|||
1
progaoff
05.04.18
✎
14:01
|
ТабОбъекты - Имеется ввиду вот этот объект.
|
|||
2
Lokli
05.04.18
✎
14:20
|
ТабОбъекты - это таблица значений? Может покажешь код, где она заполняется?
|
|||
3
progaoff
05.04.18
✎
15:25
|
Процедура ЗаполнитьТабОбъекты()
Если Контрагент.ВидКонтрагента <> Перечисление.ВидыКонтрагентов.ЧастноеЛицо Тогда ТабОбъекты.УдалитьСтроки(); Объектов = 0; ОбслуживаемоеКоличество = 0; Если Выбран() = 1 Тогда СпрОбъекты = СоздатьОбъект("Справочник.БП_ОбъектыНаОбслуживании"); СпрОбъекты.ИспользоватьВладельца(ТекущийЭлемент()); СпрОбъекты.ВыбратьЭлементы(); Пока СпрОбъекты.ПолучитьЭлемент() = 1 Цикл Объектов = Объектов + 1; Если СпрОбъекты.НаОбслуживании.Получить(ИспользоватьДату()) = 1 Тогда ТабОбъекты.НоваяСтрока(); ТабОбъекты.Ном = Объектов; ТабОбъекты.Объект = СпрОбъекты.ТекущийЭлемент(); ТабОбъекты.СерийныйНомер = СпрОбъекты.СерийныйНомер.ЗаводскойНомер; ТабОбъекты.СтрККМ = Шаблон("[СпрОбъекты.ВидОбъекта] [СпрОбъекты.Модель]"); // ТабОбъекты.Сотрудник = ФИО(СпрОбъекты.Сотрудник.Получить(ТекущаяДата())); ТабОбъекты.Сотрудник = СпрОбъекты.Сотрудник.Получить(ТекущаяДата()); ТабОбъекты.Цена = СпрОбъекты.БалансоваяСтоимость; ТабОбъекты.Телефоны = СокрЛП(СпрОбъекты.Телефон1); ТабОбъекты.Контакты = СокрЛП(СпрОбъекты.КонтЛицо1); ТабОбъекты.ДатаЗаменыЭКЛЗ = СпрОбъекты.ДатаЗаменыЭКЛЗ; ОбслуживаемоеКоличество = ОбслуживаемоеКоличество + 1; КонецЕсли; КонецЦикла; КонецЕсли; |
|||
4
progaoff
05.04.18
✎
15:25
|
Добавил дату замены, теперь пишет Поле агрегатного объекта не обнаружено (ДатаЗамены)
|
|||
5
Ёпрст
05.04.18
✎
15:33
|
(0) для периодических реквизитов нужно или использовать Получить(НужнаяДата) или перед этим всему объекту ИспользоватьДату()
|
|||
6
Ёпрст
05.04.18
✎
15:34
|
а код, конечно, в топку.
|
|||
7
progaoff
05.04.18
✎
15:34
|
(6) Весь?
|
|||
8
Pit0n_08
05.04.18
✎
15:43
|
А ТабОбъекты на форме висит? Она ж очищается ТабОбъекты.УдалитьСтроки(); и заполняется от СпрОбъекты.ИспользоватьВладельца(ТекущийЭлемент());
|
|||
9
Ёпрст
05.04.18
✎
15:46
|
И еще, колонки в ТЗ твоей, типизированы ?
Покажи код создания колонок |
|||
10
progaoff
05.04.18
✎
15:49
|
(8) Да есть на форме
|
|||
11
progaoff
05.04.18
✎
15:56
|
(9) Процедура СоздатьТЗ()
СпрОбъектыДляПеч.НоваяКолонка("Выбран","Строка","1",,,5); СпрОбъектыДляПеч.НоваяКолонка("Объект",,,,,10); СпрОбъектыДляПеч.НоваяКолонка("ЗавНомер",,,,,10); СпрОбъектыДляПеч.НоваяКолонка("Механик",,,,,30); СпрОбъектыДляПеч.НоваяКолонка("ДатаЗаменыЭКЛЗ","Дата",,,,,20); КонецПроцедуры |
|||
12
Pit0n_08
05.04.18
✎
15:58
|
Так что на форме ТабОбъекты или СпрОбъектыДляПеч?
|
|||
13
progaoff
05.04.18
✎
16:00
|
(12) ТабОбъекты
|
|||
14
progaoff
05.04.18
✎
16:01
|
(13) И второе тоже там есть
|
|||
15
progaoff
05.04.18
✎
16:07
|
Поле агрегатного объекта не обнаружено (ДатаЗамены)
Как с этим быть?) |
|||
16
HawkEye
05.04.18
✎
18:42
|
(0) для чего цикл в цикле, если во вложенном ты не используешь данные внешного, при этом выбратьстроки() вложенного - за вешним, что за бред?!
у тебя при первом срабатывании условия, весь внутрений цикл выполниться и больше ничего выполняться не будет.... |
|||
17
HawkEye
05.04.18
✎
18:43
|
(15) никак с этим не быть, смириться, ну нет такого поля у объекта
|
|||
18
HawkEye
05.04.18
✎
18:44
|
(7) ";" - можешь оставить...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |