Имя: Пароль:
1C
1С v8
Обработка передать парметр
0 Начинающий_13
 
06.08.12
17:37
Здравствуйте
Из документа открывается обоработка.
как из обработки передать данные обратно в документ в определеную ТЧ

Перем ДокументОбъект Экспорт;

Процедура Обработка(Элемент, ВыбраннаяСтрока, Колонка,СтандартнаяОбработка)

СтандартнаяОбработка=Ложь;
   
   КоличествоПараметр=1;
   
   Если ДокументОбъект <> Неопределено Тогда
       
       МетаданныеДокумента = ДокументОбъект.Метаданные();
       // Выгрузим ТЧ обработки в таблицу значений для дальнейших преобразований
       ТаблицаОбработки        = ВыбраннаяСтрока;
       МетаТЧ = МетаданныеДокумента.ТабличныеЧасти.Найти(СокрЛП(ИмяТабличнойЧасти));
       
       // Загрузим полученную таблицу в документ
       МетаДок = ДокументОбъект.Метаданные();
       МетаТЧ = МетаДок.ТабличныеЧасти.Найти(СокрЛП(ИмяТабличнойЧасти));
       ИмяТЧ = СокрЛП(ИмяТабличнойЧасти);
       ДокументОбъект[ИмяТЧ].Добавить();// ???
       
   КонецЕсли;
   
   ИмяТабличнойЧасти=НЕОПРЕДЕЛЕНО;

КонецПроцеудры

То много параметров, то поле объекта не обнаружено
1 Kashemir
 
06.08.12
17:39
Ужас
2 mikecool
 
06.08.12
17:39
передать владельца - установить данные во владельце
оповестить - обработка оповещения
открыть модально - вернуть данные параметром закрытия
3 Kashemir
 
06.08.12
17:40
ДокументОбъект["нужнаяТЧ].Загрузить(...
4 Начинающий_13
 
06.08.12
17:43
ДокументОбъект[ИмяТЧ].Загрузить(ТаблицаОбработки);
Я так пробовал ОШИБКА
{Обработка.ПодборПартии.Форма.ПодборПартии.Форма(48)}: Ошибка при вызове метода контекста (Загрузить)
       ДокументОбъект[ИмяТЧ].Загрузить(ТаблицаОбработки);
5 Kashemir
 
06.08.12
17:43
(4) А че говорит отладчик на вопрос ТипЗнч(ДокументОбъект) ?
6 Начинающий_13
 
06.08.12
17:46
По отладчику все показывает .Именно мой докум и ТЧ, правильны и данные строки тоже
7 Kashemir
 
06.08.12
17:47
(6) В чем неясность моего вопроса в (5) ? Просто скопируй ответ из отладчика и покажи всем что у тебя там правильно.
8 Начинающий_13
 
06.08.12
17:50
Документ объект: Возврат поставщику ТМЦ
9 Kashemir
 
06.08.12
17:52
(8) А что в ТипЗнч(ТаблицаОбработки) ?
10 Начинающий_13
 
06.08.12
17:54
ОбработкаТабличнаяЧастьСтрока.ПодборПартии.Партии
11 Начинающий_13
 
06.08.12
17:55
Я наверное понял Передает таблцу целиком, а не строку
12 Начинающий_13
 
06.08.12
17:56
А как тогда передать тогда выбраннаяСтрока
13 Kashemir
 
06.08.12
17:56
(11) Молодец. В случае  ТипЗнч(ТаблицаОбработки)  <> Тип("ТаблицаЗначений") будет ругаться.
14 Начинающий_13
 
06.08.12
17:57
Я выгрузил все табличное поле Партии в ТЗ, а не строку и все поулчилось. Но мне надо строку.
15 Начинающий_13
 
06.08.12
17:58
Как тогда поступить что то нет идей пока.
16 Kashemir
 
06.08.12
17:59
(14) Так меняй конкретную строку - че тут неясного ?
17 Начинающий_13
 
06.08.12
18:00
Как на алгоритме покажи.
18 Kashemir
 
06.08.12
18:02
(17) Ты задай вопрос так чтобы я понял. Я пока вообще не понимаю где тут может возникнуть проблема.
19 Начинающий_13
 
06.08.12
18:04
Как поменять конкретную строку в алгоритме? я не не понимаю.
20 Kashemir
 
06.08.12
18:07
(19) Твой алгоритм в (0) это бред - его невозможно оценить. Кроме того еще и синтаксис контроль не пройдет - что еще за "КонецПроцеудры"
21 Infsams654
 
06.08.12
18:09
ДокументОбъект[ИмяТЧ].Добавить();// ???

Во что добавить ?
Это же функция. Возвращает новую строку табличной части, которую и надо заполнить.
22 Начинающий_13
 
06.08.12
18:11
КонецПроцедуры Это я ошибся
Пытаюсь через метаданные (оптимизировать) решить проблему , а объодами и оповещениями я его решил уже я это уже решил но там писанины много.
23 Начинающий_13
 
06.08.12
18:11
И различных формах и процедурах
24 Kashemir
 
06.08.12
18:12
(22) У тебя уже есть ссылка на нужную строку табличной части нужного объекта. Ты ее как параметр вроде передаешь - чего тебе еще нужно ?
25 Начинающий_13
 
06.08.12
18:13
Вот я и не понимаю что не идет.
26 Kashemir
 
06.08.12
18:15
(25) Получи ТипЗнч нужного объекта, открой СП и найди его. Путем многократного чтения доходи до истины.
27 Начинающий_13
 
06.08.12
18:16
Хорошо. БУду пробовать наверное еще не дорос до метаданнх
Спасибо за советы.
28 Rovan
 
гуру
06.08.12
18:32
(+21) НоваяСтрока = ДокументОбъект[ИмяТЧ].Добавить();
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс