Имя: Пароль:
1C
1С v8
ТЧ обработки в Тч документа
0 Badman594
 
22.04.19
16:44
Добрый вечер, господа и дамы(если есть)!
Очень прошу помочь, подсказать, точнее молю о помощи!
Перейду к сути: Получил документы из JSONа в ТЧ обработки, хочу перенести помеченные доки в ТЧ документа. Создал в обработке реквизит СсылкаНаДокумент с ссылкой на документ)).
Создал реквизиты ТЧ документа и самом док-те и в форме списка. Помогите пожалуйста непутевому!

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

КонецЦикла;
        
КонецПроцедуры
1 Ёпрст
 
22.04.19
16:48
(0) ПолучитьОбъект();
2 Ёпрст
 
22.04.19
16:49
добавь
3 Ёпрст
 
22.04.19
16:49
и запись документа потом
4 Badman594
 
22.04.19
16:55
{Обработка.Обработка.Форма.Форма.Форма(236)}: Ошибка при вызове метода контекста (ПолучитьОбъект)
    ДокОбъект = ЭтотОбъект.Объект.СсылкаНаДокумент.ПолучитьОбъект();  
по причине:
Элемент не выбран!
5 Badman594
 
22.04.19
16:56
(3) Не получается
6 Ёпрст
 
22.04.19
17:14
ЭтотОбъект выкинь из кода
7 Badman594
 
22.04.19
17:20
(6) Все равно та же самая ошибка(( У меня там в документе нет ни одной записи, может изза этого? Но таков был замысел, чтоб туда попадали только доки из обработки...
8 Badman594
 
22.04.19
17:22
(6)     Выборка=Объект.ТаблицаДокументов.Выгрузить(ЭтотОбъект.Объект.ТаблицаДокументов.НайтиСтроки(Новый Структура("Пометка",Истина)));
    ДокОбъект = Объект.СсылкаНаДокумент.ПолучитьОбъект();  
ДокОбъект.СписокДокументов.Очистить();                                
Для каждого тСтрока из Выборка Цикл
    попытка
НовСтрока = ДокОбъект.СписокДокументов.Добавить();
ЗаполнитьЗначенияСвойств(НовСтрока,тСтрока);
Исключение
                Сообщить("");
                КонецПопытки;

            КонецЦикла;
            ДокОбъект.Записать();
9 Сергиус
 
22.04.19
18:00
(4)У тебя наверно в СсылкаНаДокумент пусто. Как заполняешь данный реквизит?
10 Badman594
 
22.04.19
22:25
(9) ДокументСсылка.ИмяДокумента

С таким кодом через отладчик видно что данные присваивается, но в тч документа также пусто, метод записать() - ошибка, выгрузить() - ноль эмоций:
Выборка=Объект.ТаблицаДокументов.Выгрузить(ЭтотОбъект.Объект.ТаблицаДокументов.НайтиСтроки(Новый Структура("Пометка",Истина)));
    ДокОбъект = Этот Объект.Объект.СсылкаНаДокумент;  
ДокОбъект.СписокДокументов.Очистить();                                
Для каждого тСтрока из Выборка Цикл
    попытка
НовСтрока = ДокОбъект.СписокДокументов.Добавить();
ЗаполнитьЗначенияСвойств(НовСтрока,тСтрока);
Исключение
                Сообщить("");
                КонецПопытки;

            КонецЦикла;
11 Сергиус
 
22.04.19
23:31
(10)[ДокОбъект = Этот Объект.Объект.СсылкаНаДокумент;  
     ДокОбъект.СписокДокументов.Очистить();]

Ну так здесь у тебя в ДокОбъект просто ссылка будет, естественно очистка и тп работать не будет. Надо пробовать ПолучитьОбъект(), но для этого в СсылкаНаДокумент должна быть реально ссылка
12 Badman594
 
25.04.19
11:12
Решено!
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший