|
v7: Как в 7.7 скопировать строку ТЗ в строку документа? | ☑ | ||
---|---|---|---|---|
0
batmansoft
18.12.14
✎
10:50
|
Добрый день. Вот в восьмерине все с этим просто, а как такое реализовать в семерке?
Делаю что то наподобие вот этого: ТЗ.ВыбратьСтроки(); стр=1; КК=ТЗ.КоличествоКолонок(); Пока ТЗ.ПолучитьСтроку()=1 Цикл НоваяСтрока(); СчетчикЦикла = 0; Для й = 1 По КК Цикл ЗначениеКолонки=ТЗ.ПолучитьЗначение(стр,1); УстановитьАтрибут(й,ЗначениеКолонки); КонецЦикла; стр=стр+1; КонецЦикла; Говторит: "УстановитьАтрибут(й,ЗначениеКолонки); {Документ.Реализация.Форма.Модуль(1551)}: Неверное имя атрибута" Есть ли какой то другой способ? |
|||
1
Ёпрст
18.12.14
✎
10:51
|
(0) в клюшках, в отличии от снеговика, есть метод Заполнить()
|
|||
2
2S
18.12.14
✎
10:51
|
А просто загрузить строку по номеру, не?
|
|||
3
Ёпрст
18.12.14
✎
10:52
|
ну и ВыгрузитьТабличнуюЧасть и ЗагрузитьТабличнуюЧасть для документа
|
|||
4
batmansoft
18.12.14
✎
11:04
|
(3) Это не прокатит, надо копировать только строки где заполнено количество. А за (1) спасибо, попробую.
|
|||
5
batmansoft
18.12.14
✎
11:12
|
Сделал так:
КК=ТЗ.КоличествоКолонок(); ТЗНов=СоздатьОбъект("ТаблицаЗначений"); ТЗНов.Загрузить(ТЗ); ТЗНов.УдалитьСтроки(); КС=ТЗ.КоличествоСтрок(); для стр=1 по КС Цикл НоваяСтрока(); //СчетчикЦикла = 0; //Для й = 1 По КК Цикл // ЗначениеКолонки=ТЗ.ПолучитьЗначение(стр,1); // УстановитьАтрибут(й,ЗначениеКолонки); //КонецЦикла; ТЗНов.Заполнить(ТЗ,стр,стр); стр=стр+1; КонецЦикла; ТЗНов.ВыбратьСтроку(); говорит: "ТЗНов.Заполнить(ТЗ,стр,стр); {Документ.Реализация.Форма.Модуль(1555)}: Номер за пределами значения!" |
|||
6
2S
18.12.14
✎
11:16
|
Индекс строки с какого начинается в 8ке?
|
|||
7
2S
18.12.14
✎
11:19
|
Упс, про 77 речь
|
|||
8
batmansoft
18.12.14
✎
11:19
|
(6) В восьмерке с 0, но тут семерка
|
|||
9
batmansoft
18.12.14
✎
11:20
|
Сделал вот так:
ТЗНов=СоздатьОбъект("ТаблицаЗначений"); ТЗНов.Загрузить(ТЗ); ТЗНов.УдалитьСтроки(); КС=ТЗ.КоличествоСтрок(); для стр=1 по КС Цикл ТЗНов.НоваяСтрока(); //СчетчикЦикла = 0; //Для й = 1 По КК Цикл // ЗначениеКолонки=ТЗ.ПолучитьЗначение(стр,1); // УстановитьАтрибут(й,ЗначениеКолонки); //КонецЦикла; ТЗНов.Заполнить(ТЗ,стр,стр); //стр=стр+1; КонецЦикла; ТЗНов.ВыбратьСтроку(); Но теперь почему то заполнят таблицу ТЗНов только первыми строками |
|||
10
Ёпрст
18.12.14
✎
11:22
|
(9) всё в топку
|
|||
11
Ёпрст
18.12.14
✎
11:23
|
весь твой код заменяется одной строкой:
ТЗ.Выгрузить(ТЗНов); |
|||
12
dk
18.12.14
✎
11:24
|
ТЗНов.УдалитьСтроки()
ТЗНов.КоличествоСтрок(ТЗ.КоличествоСтрок) ТЗНов.Заполнить(ТЗ) |
|||
13
batmansoft
18.12.14
✎
11:25
|
(12) Дык в том то и дело, что надо скопировать не все строки, а только по заданному условию. Когда у меня получиться скопировать строки в цикле, я просто тупо сделаю если и условие.
|
|||
14
dk
18.12.14
✎
11:29
|
скопируй как (11) а потом удали лишние
|
|||
15
Ёпрст
18.12.14
✎
11:31
|
(13)
ё.. ТЗ.НоваяКолонка("Вася"); ТЗ.ВыбратьСтроки(); сч=0; Пока ТЗ.ПолучитьСтроку()=1 Цикл Если <условие> Тогда ТЗ.Вася=1; сч=сч+1; КонецЕсли; КонецЦикла; ТЗ.Сортировать("Вася-"); ТЗ.Выгрузить(ТЗ,сч+1); |
|||
16
batmansoft
18.12.14
✎
11:34
|
(15) спасибо
|
|||
17
Злопчинский
18.12.14
✎
18:06
|
восьмерочники - они ж как дети.. их каждый обидеть может...
;-) |
|||
18
Vladal
18.12.14
✎
18:07
|
(1) В 8-ке тоже есть метод с таким же действием.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |