|   |   | 
| 
 | Вывод отчета в УФ | ☑ | ||
|---|---|---|---|---|
| 0
    
        Мисти 29.11.12✎ 18:25 | 
        {Форма.Форма.Форма(36)}: Ошибка при установке значения атрибута контекста (СписокКолонок)
  ОтчетПоОб=ПечатьНаСервере(Объект.ВыбДата,Объект.ВыбОбъект,Объект.ВыбКонтрагент,Объект.ВыбОрганизация,Объект.ОтборАв,Объект.Сортировка,Объект.СписокКолонок); по причине: Нельзя изменять поле, содержащее объект данных формы Нельзя изменять поле, содержащее объект данных формы Что она от меня хочет? Где ошибка? Ругается не в процессе вывода, а при передаче значения в форму. | |||
| 1
    
        Мисти 29.11.12✎ 18:31 | 
        Мне сегодня надо сдать хоть какой-то вариант!     | |||
| 2
    
        motkot 29.11.12✎ 18:33 | 
        Объект - это что за тип?     | |||
| 3
    
        Мисти 29.11.12✎ 18:37 | 
        (2) Это отчет erf расширение.     | |||
| 4
    
        Мисти 29.11.12✎ 18:38 | 
        НовСписок= Новый ТаблицаЗначений;
  НовСписок = Объект.СписокКолонок.Скопировать(); {Форма.Форма.Форма(35,19)}: Тип не определен (ТаблицаЗначений) НовСписок= Новый <<?>>ТаблицаЗначений; (Проверка: Тонкий клиент) И так ругается! Я правильно понимаю,проблема в том, что таблиную часть обработки так просто в отчет не запихнуть? А как? | |||
| 5
    
        Мисти 29.11.12✎ 18:40 | 
        При задании параметров отчета у меня есть табличная часть. 
  В 7 это был список с пометками. | |||
| 6
    
        motkot 29.11.12✎ 18:41 | 
        (4) а можно весь кусок кода посмотреть? точнее функция ПечатьНаСервере не интересна     | |||
| 7
    
        motkot 29.11.12✎ 18:42 | 
        интересна процедура, где идет вызов "ПечатьНаСервере"     | |||
| 8
    
        kosts 29.11.12✎ 18:42 | 
        (4) Вроде таблицу значений на клиенте нельзя создавать     | |||
| 9
    
        motkot 29.11.12✎ 18:44 | 
        (0) вообще узнать бы задачу     | |||
| 10
    
        Мисти 29.11.12✎ 18:47 | 
        Отчет! Собирает разное-всякое, при запуске отчета пользователь ставит галки - что печатать, а что нет в таблице, ее я и пытаюсь передать в модуль.
  Загнать данные в массив? В структуру? В список значений? По сути это 14 значений да/нет. | |||
| 11
    
        Мисти 29.11.12✎ 18:49 | 
        Или изначально можно как-то по-другому, без использования табличной части?     | |||
| 12
    
        motkot 29.11.12✎ 18:50 | 
        (10) хорошо, посмотри в отладке, какой тип данных у "Объект.СписокКолонок" в функции "ПечатьНаСервере"?     | |||
| 13
    
        motkot 29.11.12✎ 18:50 | 
        (11) без паники     | |||
| 14
    
        motkot 29.11.12✎ 18:57 | 
        должно быть ДанныеФормыКоллекция     | |||
| 15
    
        Мисти 29.11.12✎ 19:35 | 
        (14) Так и есть!     | |||
| 16
    
        Мисти 29.11.12✎ 19:36 | 
        Туда - вроде как передается, потому что пока у меня в печати были ошибки на строчку 
  ОтчетПоОб=ПечатьНаСервере(Объект.ВыбДата,Объект.ВыбОбъект,Объект.ВыбКонтрагент,Объект.В..... ругани не было, а теперь там ошибок нет и ругается в момент возврата значения. | |||
| 17
    
        Мисти 29.11.12✎ 19:52 | 
        Нашла глобальную ошибку - у меня в модуле не было
  Возврат(ТабДокумент); Но это не помогло! | |||
| 18
    
        Дейл 29.11.12✎ 19:57 | 
        на сервере пробуй так
  Объект.СписокКолонок.Загрузить("ТвояТабЧасть") | |||
| 19
    
        Дейл 29.11.12✎ 19:58 | 
        а так кури ЗначениеЗаполненияРеквизитаФормы - вроде так ...     | |||
| 20
    
        Мисти 29.11.12✎ 19:58 | 
        А мне не надо туда ничего возвращать!
  Я и не хочу, это ОНО САМО! | |||
| 21
    
        Мисти 29.11.12✎ 19:59 | 
        Возврат(ТабДокумент) - у меня только сам табличный документ возвращается, отчет!     | |||
| 22
    
        Дейл 29.11.12✎ 19:59 | 
        айм сорри не до конца прочитал ветку     | |||
| 23
    
        Мисти 29.11.12✎ 20:01 | 
        (22) Спасибо всё равно!     | |||
| 24
    
        Дейл 29.11.12✎ 20:03 | 
        &НаКлиенте
  Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать) ТабДок = Новый ТабличныйДокумент; Печать(ТабДок, ПараметрКоманды); ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Ложь; ТабДок.ТолькоПросмотр = Ложь; ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.Показать(); //}} КонецПроцедуры &НаСервере Процедура Печать(ТабДок, ПараметрКоманды) Документы.ОказаниеУслуги.Печать(ТабДок, ПараметрКоманды); КонецПроцедуры Посмотри пример может поможет | |||
| 25
    
        Дейл 29.11.12✎ 20:05 | 
        не помню как через макет выводить СКД- лучше.     | |||
| 26
    
        Дейл 29.11.12✎ 20:09 | 
        в модуле менеджера
  Процедура Печать(ТабДок, Ссылка) Экспорт //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать) Макет = Документы.ОказаниеУслуги.ПолучитьМакет("Печать"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОказаниеУслуги.Дата, | ОказаниеУслуги.Клиент, | ОказаниеУслуги.Мастер, | ОказаниеУслуги.Номер, | ОказаниеУслуги.Склад, | ОказаниеУслуги.ПереченьНоменклатуры.( | НомерСтроки, | Номенклатура, | Количество, | Цена, | Сумма | ) |ИЗ | Документ.ОказаниеУслуги КАК ОказаниеУслуги |ГДЕ | ОказаниеУслуги.Ссылка В (&Ссылка)"; Запрос.Параметры.Вставить("Ссылка", Ссылка); Выборка = Запрос.Выполнить().Выбрать(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); Шапка = Макет.ПолучитьОбласть("Шапка"); ОбластьПереченьНоменклатурыШапка = Макет.ПолучитьОбласть("ПереченьНоменклатурыШапка"); ОбластьПереченьНоменклатуры = Макет.ПолучитьОбласть("ПереченьНоменклатуры"); ОбластьИтог = Макет.ПолучитьОбласть("Всего"); ТабДок.Очистить(); ВставлятьРазделительСтраниц = Ложь; Пока Выборка.Следующий() Цикл Если ВставлятьРазделительСтраниц Тогда ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ТабДок.Вывести(ОбластьЗаголовок); Шапка.Параметры.Заполнить(Выборка); ТабДок.Вывести(Шапка, Выборка.Уровень()); ТабДок.Вывести(ОбластьПереченьНоменклатурыШапка); ВыборкаПереченьНоменклатуры = Выборка.ПереченьНоменклатуры.Выбрать(); СуммаИтог = 0; Пока ВыборкаПереченьНоменклатуры.Следующий() Цикл ОбластьПереченьНоменклатуры.Параметры.Заполнить(ВыборкаПереченьНоменклатуры); ТабДок.Вывести(ОбластьПереченьНоменклатуры, ВыборкаПереченьНоменклатуры.Уровень()); СуммаИтог = СуммаИтог + ВыборкаПереченьНоменклатуры.Сумма; КонецЦикла; ОбластьИтог.Параметры.ВсегоПоДокументу = СуммаИтог; ТабДок.Вывести(ОбластьИтог); ВставлятьРазделительСтраниц = Истина; КонецЦикла; //}} КонецПроцедуры | |||
| 27
    
        Мисти 29.11.12✎ 20:11 | 
        У меня в целом-то получается!
  Она мой список колонок есть не хочет. Буду пока без списка колонок печатать всё подряд - у меня с этим отчетом еще прочих проблем хватает. | |||
| 28
    
        Мисти 29.11.12✎ 20:32 | 
        Как быть с колонками-то?
  Как нынче (в УФ) множественный отбор изображают? | |||
| 29
    
        Мисти 29.11.12✎ 22:22 | 
        ау?     | |||
| 30
    
        Мисти 01.12.12✎ 16:19 | 
        Как всё-таки список колонок передать в модуль?
  Что я сделала не так? Я придумала, как выкрутится, мне по сути нужна только последовательность да-нет-нет-да, так что я передам текст абба..., но хотелось бы знать, как надо-то? | |||
| 31
    
        Мисти 03.12.12✎ 12:27 | 
        Так как быть со списком-то, при передаче в модуль объекта?     | |||
| 32
    
        Конфигуратор1с 03.12.12✎ 12:30 | 
        А чем Вам  СКД не угодил? там можно выбирать колонки и отборы и прочую фигню в быстром доступе     | |||
| 33
    
        Мисти 03.12.12✎ 12:31 | 
        Уже всё сделано без СКД, тем более, что СКД я и не знаю.     | |||
| 34
    
        Конфигуратор1с 03.12.12✎ 12:32 | 
        (33)На скд этот отчет занимает пару минут     | |||
| 35
    
        Мисти 03.12.12✎ 12:40 | 
        (33) Какой такой этот? Там берутся данные из разных регистров, справочников, куча разных условий и т.д.     | |||
| 36
    
        Конфигуратор1с 03.12.12✎ 12:42 | 
        Ну я о (26)     | |||
| 37
    
        Конфигуратор1с 03.12.12✎ 12:44 | 
        Ладно. Список колонок это табличная часть этого же отчета?     | |||
| 38
    
        Мисти 03.12.12✎ 12:46 | 
        Да!     | |||
| 39
    
        Конфигуратор1с 03.12.12✎ 12:47 | 
        (38)И Вы хотите его получить на сервере?     | |||
| 40
    
        Мисти 03.12.12✎ 12:57 | 
        Да, а что? Может, эту таблицу значений, которая список колонок нужно во что-то преобразовать (автоматически), а на сервере - обратно развернуть? Или тип изначально нужно было другой задавать? В 7 это было - "список с пометками".     | |||
| 41
    
        Конфигуратор1с 03.12.12✎ 13:10 | 
        (40)Так на сервере просто пишете для каждого стр из Объект.СПисокКОлонок цикл. Зачем его передавать?     | |||
| 42
    
        Мисти 03.12.12✎ 13:32 | 
        (41) Не просто на сервере, а в модуле объекта.
  У меня как-то там реквизитов формы было не видно, я все как переменные туда передавала! А должно быть видно?? | |||
| 43
    
        Конфигуратор1с 03.12.12✎ 13:56 | 
        (42)Модуль это дело другое     | |||
| 44
    
        Конфигуратор1с 03.12.12✎ 13:57 | 
        (42)Ну если вы с клиента вызываете сразу модуль, минуя сервер, тогда через структуру - ключь - имя колонки, значение - булево     | |||
| 45
    
        Конфигуратор1с 03.12.12✎ 13:58 | 
        (42)Если же с клиента зовете сервере а с него уже модуль объекта, то там можно и через тз     | |||
| 46
    
        Мисти 04.12.12✎ 17:21 | 
        (45) С клиента - сервер, оттуда - модуль, но не ест!
  Может, это заведомо не должна быть таблица значений? | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |