|
Не выводится отчет | ☑ | ||
---|---|---|---|---|
0
Константин536
16.03.15
✎
11:48
|
Здравствуйте.
Помогите пожалуйста разобраться в чем проблема. Написал код для создания отчета вручную. Знаю, что многие скажут что можно через компоновку данных это сделать или же через конструктор запроса. Но я пытаюсь освоить также и написание вручную. Вот код: &НаКлиенте Процедура Сформировать(Команда) ВывестиТабДок(ТабДок) КонецПроцедуры &НаСерверебезКонтекста Процедура ВывестиТабДок(ТабДок) Макет = Отчеты.ОтчетПоОстаткам.ПолучитьМакет("макет"); ОблШапка = Макет.ПолучитьОбласть("Шапка"); ОблШапка.Параметры.ДатаОтчета = ТекущаяДата(); ТабДок.Вывести(ОблШапка); ОблЭлемент = Макет.ПолучитьОбласть("Элемент"); Выборка = РегистрыНакопления.Приход_РасходПоСкладам.Остатки(); Пока Выборка.Следующий() Цикл ОблЭлемент.Товар = Выборка.Товар; ОблЭлемент.Количество = Выборка.КоличествоОстаток; ОблЭлемент.Сумма = Выборка.СуммаОстаток; ТабДок.Вывести(ОблЭлемент); КонецЦикла; КонецПроцедуры Проверка модуля ошибок не выявила, но вот при выводе отчета появляется ошибка: "метод объекта не обнаружен(Следующий)". Что это значит? И еще вопрос: можно ли сюда прикреплять скриншоты экрана для полноты картины? |
|||
1
prog-Igor
16.03.15
✎
11:51
|
Ошибка в (Выборка = РегистрыНакопления.Приход_РасходПоСкладам.Остатки();)
|
|||
2
ДенисЧ
16.03.15
✎
11:53
|
Выборка = РегистрыНакопления.Приход_РасходПоСкладам.Остатки();
Пока Выборка.Следующий() Цикл Это что такое?? О_о |
|||
3
Ненавижу 1С
гуру
16.03.15
✎
11:53
|
(0) Возвращаемое значение:
Тип: ТаблицаЗначений. |
|||
4
1976vas
16.03.15
✎
12:32
|
(3) + Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс строки (нумерация с 0). |
|||
5
Константин536
16.03.15
✎
19:40
|
Я что то не пойму:
почему здесь можно так написать: "Выборка = Справочники.Номенклатура.Выбрать(); Пока Выборка.Следующий() Цикл ОблЭлемент.Параметры.Наименование = Выборка.Наименование; ОблЭлемент.Параметры.Цена = Выборка.ЦенаПродажи; ТабДок.Вывести(ОблЭлемент); КонецЦикла;" А вот так уже нельзя: "Выборка = РегистрыНакопления.Приход_РасходПоСкладам.Остатки.Выбрать(); Пока Выборка.Следующий() Цикл ОблЭлемент.Параметры.Товар = Выборка.Товар; ОблЭлемент.Параметры.Количество = Выборка.КоличествоОстаток; ОблЭлемент.Параметры.Сумма = Выборка.СуммаОстаток; ТабДок.Вывести(ОблЭлемент); КонецЦикла;" В первом случае я обращаюсь к таблице Справочник.Номенклатура и уже из нее выбираю параметры. А во втором я обращаюсь к таблице Регистрнакопления.Остатки и из нее выбираю значения. Прошу доступно объяснить в чем проблема и что не так? |
|||
6
ДенисЧ
16.03.15
✎
19:42
|
(5) Не так только две вещи: ты не читаешь документацию и ты (необоснованно) подозреваешь 1с в наличии логики.
|
|||
7
Новый участник
16.03.15
✎
19:42
|
// Голосом Димы Соколова из Пельменей
Вообще не так! Разницу между регистром и справочником кто изучать будет??? |
|||
8
D_E_S_131
16.03.15
✎
21:49
|
Следующая ошибка будет ОблЭлемент.Товар (поле "Товар" не обнаружено)
|
|||
9
Константин536
16.03.15
✎
23:55
|
Фух.....
кое как вышло.... Вот текст: *Процедура ВывестиТабДок(ТабДок) Макет = Отчеты.ОтчетПоОстаткам.ПолучитьМакет("макет"); ОблШапка = Макет.ПолучитьОбласть("Шапка"); ОблШапка.Параметры.ДатаОтчета = ТекущаяДата(); ТабДок.Вывести(ОблШапка); ОблЭлемент = Макет.ПолучитьОбласть("Элемент"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |Товар как Товар, |КоличествоОстаток как КоличествоОстаток, |СуммаОстаток как СуммаОстаток |ИЗ |РегистрНакопления.Приход_РасходПоСкладам.Остатки"; Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() цикл ОблЭлемент.Параметры.Товар = Выборка.Товар; ОблЭлемент.Параметры.Количество = Выборка.КоличествоОстаток; ОблЭлемент.Параметры.Сумма = Выборка.СуммаОстаток; ТабДок.Вывести(ОблЭлемент); КонецЦикла; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |