Имя: Пароль:
1C
1С v8
Метод объекта не обнаружен (Скопировать)
, ,
0 Олеся999
 
24.02.15
08:25
Почему то выдает ошибку: Метод объекта не обнаружен (Скопировать)
Подскажите пожалуйста, как можно сделать иначе ?

&НаСервере
Процедура Команда1НаСервере()
стрОтбор = Новый Структура("Компания","IVELSE");
МассивСтрок = Объект.Остатки.НайтиСтроки(стрОтбор);
ВремТЗ = Объект.Остатки.Скопировать(МассивСтрок);
Объект.Остатки.Очистить();
Остатки = ВремТЗ.Скопировать();
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
    Команда1НаСервере();
КонецПроцедуры



ОШИБКА: {Документ.ОстаткиТехнолоджи.Форма.ФормаДокумента.Форма(6)}: Метод объекта не обнаружен (Скопировать)
ВремТЗ = Объект.Остатки.Скопировать(МассивСтрок);
1 Любопытная
 
24.02.15
08:29
Потому что нет метода Скопировать у коллекции формы. Есть только у таблицы значений
2 1Сергей
 
24.02.15
08:31
Что такое Остатки в данном контексте?
3 Олеся999
 
24.02.15
08:34
(2) Объект.Остатки это ТабличнаяЧасть
    Объект это Временная Таблица
4 Wobland
 
24.02.15
08:40
(3) табличная часть у временной таблицы? верхний пилотаж
5 1Сергей
 
24.02.15
08:47
(3) У табличной части нет метода Скопировать.

ЗЫ продайте человеку СП, будьте человеками
6 Олеся999
 
24.02.15
08:48
А как тогда можно сделать ?
7 Wobland
 
24.02.15
08:48
(6) выгрузить с отбором, почистить, загрузить. ну или поштучным обходом массива найденных строк
8 Wobland
 
24.02.15
08:49
(5) в утверждении "продайте человеку СП, будьте человеками" человек - это некто с СП или без?
9 1Сергей
 
24.02.15
08:52
(8) человек понятие более широкое и не может поместиться в рамки наличия или отсутствия СП
10 FIXXXL
 
24.02.15
09:32
(0)Выгрузить вместо Скопировать юзай
11 Олеся999
 
24.02.15
11:30
Сделала так но что то не удаляется :(

&НаСервере
Процедура Команда1НаСервере()


ПараметрОтбора=Новый Структура("Компания","ТЕХНОКОМ");
Массив = Объект.Остатки.НайтиСтроки(ПараметрОтбора);
Для Каждого Строка Из Массив Цикл
Индекс = 1;
Объект.Остатки.Удалить(Индекс);
Индекс = Индекс + 1;
КонецЦикла;
ЭтаФорма.Прочитать();
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
    Команда1НаСервере();
КонецПроцедуры
12 Wobland
 
24.02.15
11:32
отбор есть, это ты молодец. а выгрузить?
13 Timon1405
 
24.02.15
11:35
(11) давайте нормальные имена переменнным(не совпадающими с зарезервированными системой типа "массив", "строка") и не городите лишнего
Для каждого СтрокаМассиваКУдалению из МассивСтрокКУдалению
Объект.Остатки.Удалить(СтрокаМассиваКУдалению);
КонецЦикла
14 1Сергей
 
24.02.15
11:35
Индекс = 1;

перед циклом должно быть
15 Timon1405
 
24.02.15
11:36
(13) + "Цикл" в конце 1й строке конечно же
16 Бубка Гоп
 
24.02.15
11:43
(11) Строка - переименуй в Стр например, потому что зарезервировано за типом
17 hhhh
 
24.02.15
11:51
(11) выкинь Индекс.

Объект.Остатки.Удалить(Строка);
18 Олеся999
 
24.02.15
11:53
Так вот ?
&НаСервере
Процедура Команда1НаСервере()

ПараметрОтбора=Новый Структура("Компания","IVELSE");
МассивСтрокКУдалению = Объект.Остатки.НайтиСтроки(ПараметрОтбора);
Индекс = 1;
Индекс = Индекс + 1;
Для каждого СтрокаМассиваКУдалению из МассивСтрокКУдалению Цикл  
Объект.Остатки.Удалить(СтрокаМассиваКУдалению);

КонецЦикла;
ЭтаФорма.Прочитать();
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
    Команда1НаСервере();
КонецПроцедуры
19 hhhh
 
24.02.15
11:56
(18) да. И тем более индекс вы неправильно писали, индекс с нуля начинается. Индекс = 0;
20 Олеся999
 
24.02.15
12:05
(19) Поставила индекс 0 всё равно  не работает ...
21 Олеся999
 
24.02.15
12:25
(12) А что выгрузить ?
22 hhhh
 
24.02.15
12:35
(20) вот здесь еще проверьте

ПараметрОтбора=Новый Структура("Компания","IVELSE");

вряд ли компания у вас это строка. Наверно, всё-таки элемент справочника.
23 Олеся999
 
24.02.15
12:53
Компания это столбец  
http://lvkr.ru/f/6w9J9z/640.jpg
24 redding
 
24.02.15
13:00
(23) Вы компанию в табличной части документа из какого справочника выбираете? или просто руками пишите эту строчку:"IVELSE" в документе?
25 Олеся999
 
24.02.15
13:12
26 Wobland
 
24.02.15
13:28
(21) ТЧ
27 Олеся999
 
24.02.15
13:34
(26)  Так что ли? Выгрузить(МассивСтрокКУдалению);  
&НаСервере
Процедура Команда1НаСервере()

ПараметрОтбора=Новый Структура("Компания","IVELSE");
МассивСтрокКУдалению = Объект.Остатки.НайтиСтроки(ПараметрОтбора);
Индекс = 0;
Индекс = Индекс + 1;
Для каждого СтрокаМассиваКУдалению из МассивСтрокКУдалению Цикл  
Объект.Остатки.Удалить(СтрокаМассиваКУдалению);
Выгрузить(МассивСтрокКУдалению);
КонецЦикла;
ЭтаФорма.Прочитать();
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
    Команда1НаСервере();
КонецПроцедуры
28 Wobland
 
24.02.15
13:35
(5) ну хорошо

Табличная часть (Tabular section)
Выгрузить (Unload)
Вариант синтаксиса: Выгрузить по отбору

Синтаксис:

Выгрузить(<ПараметрыОтбора>, <Колонки>)
Параметры:

<ПараметрыОтбора> (необязательный)

Тип: Структура.
Ключ структуры - идентификатор колонки, а значение структуры - значение отбора.
<Колонки> (необязательный)

Тип: Строка.
Список колонок для копирования в формате: "Колонка1, Колонка2...".
Описание варианта метода:

Если указан отбор, то только строки из отбора будут выгружены. Если отбор не указан, то будут выгружены все строки табличной части.
Если указаны колонки, то только эти колонки будут выгружены. Иначе, будут выгружены все колонки табличной части.
Возвращаемое значение:

Тип: ТаблицаЗначений.

Описание:

Создает таблицу значений и копирует в нее табличную часть. Имена колонок таблицы значений совпадают с именами колонок табличного поля. Колонка, содержащая номер строки, выгружается в колонку с именем НомерСтроки.


с вас 500 рублей
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.