Проблемы со Списком значений.Помогите пжлста...

  • Автор темы navagdenie
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

navagdenie

#1
Помогите пжлста совсем начинающему программисту...
В форме отчета необходимо вывести список значений (номера квитанций из документов) для отбора...Значения присваивает, но в форму не выводит...Мучаюсь вторую неделю...Помогите...
Вот код:
Процедура ЗагрузитьДок()
Если (ПустоеЗначение(НачДата2)=1) или (ПустоеЗначение(КонДата2)=1) тогда
Предупреждение("Выберите период!");
Возврат;
КонецЕсли;

СписокДок=СоздатьОбъект("СписокЗначений");
Документы=СоздатьОбъект("СписокЗначений");

Док = СоздатьОбъект("Документ.Заселение");

Док.ВыбратьДокументы(НачДата2, КонДата2);
Пока Док.ПолучитьДокумент()=1 цикл
ТекДок=Док.ТекущийДокумент();
ТекДок.ВыгрузитьТабличнуюЧасть(ТабДок);
ТабДок.ВыбратьСтроки();
Пока ТабДок.ПолучитьСтроку()=1 Цикл
НКвит=ТабДок.НомерКвитанции;
Документы.ДобавитьЗначение(НКвит);
КонецЦикла;
КонецЦикла;
Для н=1 по Документы.РазмерСписка() цикл
Значение=Документы.ПолучитьЗначение(н, НКвит);
Сообщить(Значение);
СписокДок.ДобавитьЗначение(Значение);
КонецЦикла;

СписокДок.Сортировать();

КонецПроцедуры

или:
Скачать файл 1.jpg
 

puh14

Well-known member
11.07.2008
1 412
0
#2
Гм так тебе надо вставить в форму списокзначений с идентификатором СписокДок, а
СписокДок=СоздатьОбъект("СписокЗначений"); закомментировать. а то у тебя всё идет в некий список не выводимый на форму.
 
N

navagdenie

#3
Гм так тебе надо вставить в форму списокзначений с идентификатором СписокДок, а
СписокДок=СоздатьОбъект("СписокЗначений"); закомментировать. а то у тебя всё идет в некий список не выводимый на форму.
В форму вставлен список с идентификатором СписокДок, но если СписокДок=СоздатьОбъект("СписокЗначений"); закомментировать, то выдает ошибку "Поле агрегатного объекта не обнаружено"...
 
H

Hryv

#4
Либо на форме объект не того типа, либо опечатка в его имени - перепроверь
puh14 тебе все верно посоветовал
 

puh14

Well-known member
11.07.2008
1 412
0
#5
Скорее всего опечатка имени - например первая буква в латинице. Перебей идентификатор заново и по русски. и в модуле тоже.
 
N

navagdenie

#6
Закоментировала СоздатьОбъект("СписокЗначений"), идентификатор списка скопировала из формы м вставила в модуль,
после запуска отчета выдает ошибку "{Отчет.ОтчетЗаселение.Форма.Модуль(198)}: Значение не представляет агрегатный объект (ДобавитьЗначение)"
Форма:

Скачать файл 2.gif

Простите, но просто рисунок вставить почму-то не получается...
 

puh14

Well-known member
11.07.2008
1 412
0
#7
а ты случаем не все СоздатьОбъект("СписокЗначений") закоменнтила?
 
N

navagdenie

#8
Нет, только СписокДок=СоздатьОбъект("СписокЗначений")..
 

puh14

Well-known member
11.07.2008
1 412
0
#9
Вставь текущий код плз глянуть. и что на 198-ой строчке?
Такая ругань кстати бывает если значение пустое - мож у тебя в каком доке не заполнен этот реквизит?
 
N

navagdenie

#10
Процедура ЗагрузитьДок()
Если (ПустоеЗначение(НачДата2)=1) или (ПустоеЗначение(КонДата2)=1) тогда
Предупреждение("Выберите период!");
Возврат;
КонецЕсли;

//СписокДок=СоздатьОбъект("СписокЗначений");
Документы=СоздатьОбъект("СписокЗначений");

Док = СоздатьОбъект("Документ.Заселение");

Док.ВыбратьДокументы(НачДата2, КонДата2);
Пока Док.ПолучитьДокумент()=1 цикл
ТекДок=Док.ТекущийДокумент();
ТекДок.ВыгрузитьТабличнуюЧасть(ТабДок);
ТабДок.ВыбратьСтроки();
Пока ТабДок.ПолучитьСтроку()=1 Цикл
НКвит=ТабДок.НомерКвитанции;
Документы.ДобавитьЗначение(НКвит);
КонецЦикла;
КонецЦикла;
Для н=1 по Документы.РазмерСписка() цикл
Значение=Документы.ПолучитьЗначение(н, НКвит);
Сообщить(Значение);
СписокДок.ДобавитьЗначение(Значение); // строка 198
КонецЦикла;

СписокДок.Сортировать();

КонецПроцедуры

Нет, во всех документах все заполнено, сама заполняла, и в список "Документы" они добавляются, а в список СписокДок нет...
 

puh14

Well-known member
11.07.2008
1 412
0
#11
проверил для записей книги продаж - всё путем, пашет. Так что либо у тебя встречаются пустые значения ТабДок.НомерКвитанции либо где-то ещё раньше объявлен програмно СписокДок (например, как переменная). Если строк много и искать лень- переименуй СписокДок например в СписокДок1 в форме и модуле.
 
N

navagdenie

#12
Огромное спасибо, вы почти спасли мне жизнь иначе заказчик убил бы наверное...
Все просто, СписокДок (я даж не знаю как себя назвать после этого) объявила переменной блин, и мучалась 2 недели...Как это вообще назвать можно....
 
Статус
Закрыто для дальнейших ответов.