|
Запись результата отчета в ТЗ без СКД | ☑ | ||
---|---|---|---|---|
0
gabd_marat
05.06.16
✎
21:32
|
Народ, подскажите, записываю результат отчета в ТЗ, при этом выдается ошибка, не понятно почему.
&НаСервере Процедура ПолучитьТЗИзМакета() Экспорт //Получаем Макет ТаблицаДанных = Новый ТаблицаЗначений(); ТекМакет = Отчеты.ИнвентаризационнаяВедомостьТовара.ПолучитьМакет("Макет"); Для НомерСтр = 9 По ТекМакет.ВысотаТаблицы Цикл Если НомерСтр >9 Тогда ТекСтр = ТаблицаДанных.Добавить(); КонецЕсли; Для НомерКол = 2 По ТекМакет.ШиринаТаблицы Цикл Яч = ТекМакет.Область(НомерСтр,НомерКол); Если Яч.СодержитЗначение Тогда ЗначениеЯч = Яч.Значение; Иначе ЗначениеЯч = Яч.Текст; КонецЕсли; Если НомерСтр = 9 Тогда ТаблицаДанных.Колонки.Добавить(ЗначениеЯч); Иначе ТекСтр[НомерКол-2] = ЗначениеЯч; КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры {ОбщийМодуль.РаботаСоСправочниками.Модуль(91)}: Ошибка при вызове метода контекста (Добавить) ТаблицаДанных.Колонки.Добавить(ЗначениеЯч); по причине: Неверное имя колонки |
|||
1
mehfk
05.06.16
✎
21:40
|
Поставь останов по ошибке и посмотри чему равено ЗначениеЯч.
|
|||
2
gabd_marat
05.06.16
✎
21:45
|
ЗначениеЯч = 2 Тип = строка, (Как и должно быть в колонки добавляются номера колонок)
|
|||
3
jsmith82
05.06.16
✎
21:48
|
Имя колонки с цифры может начинаться?
|
|||
4
gabd_marat
05.06.16
✎
21:50
|
Не знаю)
|
|||
5
jsmith82
05.06.16
✎
21:50
|
Нет
|
|||
6
jsmith82
05.06.16
✎
21:51
|
Напиши типа Добавить("Префикс"+ЗначениеЯч)
|
|||
7
gabd_marat
05.06.16
✎
21:54
|
Сначала Поменял на текст, все равно выдает ошибку. Затем сделал как ты сказал, то же выдает ошибку в том же месте
|
|||
8
gabd_marat
05.06.16
✎
22:52
|
Начал с 10 строки выдает ошибку :
в строке - ТекСтр[НомерКол-2] = ЗначениеЯч; Через отладчик получил ЗначениеЯч = "" Тип = строка |
|||
9
jsmith82
05.06.16
✎
22:59
|
Ну ты посмелей. Проблема на ладонт
|
|||
10
gabd_marat
05.06.16
✎
23:04
|
Короче еще вопрос :
Есть отчет без СКД. Отчет выводится в табличный документ. В табличном документе есть возможность пользователя редактировать отчет. Нужно получить данные из отчета. Если брать данные с макета там будут измененные значения отчета пользователем или надо брать данные из Табличного документа |
|||
11
gabd_marat
05.06.16
✎
23:09
|
(9)Подскажи в чем ошибка
|
|||
12
hhhh
05.06.16
✎
23:18
|
(11) какую ошибку выдает (8) ?
|
|||
13
jsmith82
05.06.16
✎
23:19
|
Ошибка в том, что значение пустое. Почему? Ну, епт. Ячейка пустая в макете по ходу. Отладчик есть. Мозги есть. XXI век. Вперёд. Если не хочешь профессию менять.
|
|||
14
jsmith82
05.06.16
✎
23:20
|
(10) Из документа
|
|||
15
gabd_marat
05.06.16
✎
23:33
|
(14)(10) То есть в макете данные никак не отобразятся , надо обязательно через док?
|
|||
16
gabd_marat
05.06.16
✎
23:37
|
Походу проблема в макете
|
|||
17
hhhh
05.06.16
✎
23:42
|
(16) кто придумал там у вас это ноу хау? редактировать макеты?
|
|||
18
jsmith82
05.06.16
✎
23:44
|
(15) Отчёт выводит в док. Макет вообще пустой м.б.епт
|
|||
19
jsmith82
05.06.16
✎
23:44
|
Ты че там куришь..
|
|||
20
gabd_marat
05.06.16
✎
23:45
|
в инете алгоритм нашел, я то же сначала думал что макет пустой) потом решил попробывать
|
|||
21
gabd_marat
05.06.16
✎
23:46
|
||||
22
gabd_marat
05.06.16
✎
23:49
|
Но хотя сначала ведь заполняем область макета и только потом выводим в ТД. По идее в области должны сохранится значения нет?
|
|||
23
hhhh
06.06.16
✎
00:00
|
(22) ТекМакет = Отчеты.ИнвентаризационнаяВедомостьТовара.ПолучитьМакет("Макет");
вот это вы грузите типовой макет из конфигурации. А где вы после у него области заполняете? Что-то нет нигде. |
|||
24
jsmith82
06.06.16
✎
00:01
|
(22) макет-тд в ОЗУ - птд
Такова логика |
|||
25
gabd_marat
06.06.16
✎
00:47
|
ясно, во передела под ТД:
Все равно та же ошибка в первом цикле на счет имени колонки : {ОбщийМодуль.РаботаСоСправочниками.Модуль(80)}: Ошибка при вызове метода контекста (Добавить) ТаблицаДанных.Колонки.Добавить(ИмяКолонки); по причине: Неверное имя колонки Вот код &НаСервере Процедура ПолучитьТЗИзМакета(ТабДок) Экспорт ТаблицаДанных = Новый ТаблицаЗначений(); НомерКол = 1; Пока НомерКол < 7 Цикл НомерКол = НомерКол +1; ИмяКолонки = ТабДок.Область(9,НомерКол).Текст; ТаблицаДанных.Колонки.Добавить(ИмяКолонки); КонецЦикла; Для НомерКол = 2 По 7 Цикл НомерСтр = 10; Пока Не ПустаяСтрока(ТабДок.Область(НомерСтр,НомерКол).Значение) Цикл ТекстСтр = ТаблицаДанных.Добавить(); ЗничениеЯч = ТабДок.Область(НомерСтр,НомерКол).Значение; ТекстСтр[НомерКол - 2] = ЗничениеЯч; НомерСтр = НомерСтр + 1; КонецЦикла; КонецЦикла; КонецПроцедуры На счет метода Текст и Значение знаю не много. Поэтому Где использовал значение в макете используется значение |
|||
26
gabd_marat
06.06.16
✎
00:48
|
В отладчике : ИмяКолонки = "Товар" Тип= строка
|
|||
27
gabd_marat
06.06.16
✎
00:49
|
В макете Заполнение = Текст
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |