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

Тема в разделе "1C и всё что с ней связано", создана пользователем navagdenie, 20 ноя 2008.

Статус темы:
Закрыта.
  1. navagdenie

    navagdenie Гость

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

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

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

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

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

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

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

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Гм так тебе надо вставить в форму списокзначений с идентификатором СписокДок, а
    СписокДок=СоздатьОбъект("СписокЗначений"); закомментировать. а то у тебя всё идет в некий список не выводимый на форму.
     
  3. navagdenie

    navagdenie Гость

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

    Hryv Гость

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

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Скорее всего опечатка имени - например первая буква в латинице. Перебей идентификатор заново и по русски. и в модуле тоже.
     
  6. navagdenie

    navagdenie Гость

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

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

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

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    а ты случаем не все СоздатьОбъект("СписокЗначений") закоменнтила?
     
  8. navagdenie

    navagdenie Гость

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

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Вставь текущий код плз глянуть. и что на 198-ой строчке?
    Такая ругань кстати бывает если значение пустое - мож у тебя в каком доке не заполнен этот реквизит?
     
  10. navagdenie

    navagdenie Гость

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

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

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

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

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

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

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

    puh14 Well-Known Member
    1C Team

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

    navagdenie Гость

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

Поделиться этой страницей