• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

navagdenie

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

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

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

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

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

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

или:
 
P

puh14

Гм так тебе надо вставить в форму списокзначений с идентификатором СписокДок, а
СписокДок=СоздатьОбъект("СписокЗначений"); закомментировать. а то у тебя всё идет в некий список не выводимый на форму.
 
N

navagdenie

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

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

Hryv

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

puh14

Скорее всего опечатка имени - например первая буква в латинице. Перебей идентификатор заново и по русски. и в модуле тоже.
 
N

navagdenie

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



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

puh14

а ты случаем не все СоздатьОбъект("СписокЗначений") закоменнтила?
 
N

navagdenie

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

puh14

Вставь текущий код плз глянуть. и что на 198-ой строчке?
Такая ругань кстати бывает если значение пустое - мож у тебя в каком доке не заполнен этот реквизит?
 
N

navagdenie

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

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

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

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

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

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

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

puh14

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

navagdenie

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!