Имя: Пароль:
1C
1С v8
Добавление строк в табличную часть.
0 Alek1sei
 
06.02.17
10:21
Добрый день! Прошу помощи. Есть документ с табличной частью(заказы покупателей), добавлена форма в которой выбирается подбором список заказов.
Не получается с модуля формы добавить строки в ТЧ.

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

Подкажиче5 пожалуйста, в чем косяк.
1 Alek1sei
 
06.02.17
10:22
На код не ругается, по отладчику все норм, строка не добавляется
2 vicof
 
06.02.17
10:22
уф? реквизит формы в значение и обратно
3 Alek1sei
 
06.02.17
10:23
обычные формы
4 Ёпрст
 
гуру
06.02.17
10:24
Объект не записываешь
5 Ёпрст
 
гуру
06.02.17
10:24
а так, передавать надо не ссылку, если че.
6 Sirtoo
 
06.02.17
10:25
СсылкаНаОбъект в твоем коде это что ?
7 Гипервизор
 
06.02.17
10:25
(0)Зачем каждый раз объект получаешь?
8 Остап Сулейманович
 
06.02.17
10:27
(0) Зачем не используешь "Оповестить"+"Обработка оповещения" да?
Зачем новый лисапед?
9 Alek1sei
 
06.02.17
10:28
СсылкаНаОбъект Объект, Документ ТЧ которого заполняем
10 Alek1sei
 
06.02.17
10:29
(5) Подскажите как надо
11 Alek1sei
 
06.02.17
10:29
5 минут есть чтобы исправить
12 1Снеговик
 
гуру
06.02.17
10:31
Документ = СсылкаНаОбъект.ПолучитьОбъект() в цикле - это гениально
13 1Снеговик
 
гуру
06.02.17
10:32
Из цикла вынеси эту строку
14 Alek1sei
 
06.02.17
10:32
(12) Уже вынес из цикла, к сути вопроса не относится
15 FIXXXL
 
06.02.17
10:33
в цикле переменную Документ каждой итерацией пересоздаешь и не записываешь
16 Alek1sei
 
06.02.17
10:34
Документ, вынес из цикла. Как записать строку?
17 vicof
 
06.02.17
10:36
Документ.Записать()
18 Alek1sei
 
06.02.17
10:39
(17) Чтобы в табличную часть добавилась строка записывать документ?
19 Alek1sei
 
06.02.17
10:39
Как бы обработка выбора же не записывает
20 Рэйв
 
06.02.17
10:42
(19)Если эт о форма документа, а не просто так болтается, то убери строку получения объекта и переделай на
НоваяСтрока = Объект.ЗаказыПокупателей.Добавить();
21 Рэйв
 
06.02.17
10:44
+(20)А если это свободная форма, то передавай в нее Объект из главной и в него заполняй. При .ПолучитьОбъект ты получаешь новую сущность,а не тот Объект куда ты хочешь добавить строку
22 Alek1sei
 
06.02.17
10:46
(21) Спасибо, пробую. Форма вызывается из основной формы, объект передаю в СсылкуНаОбъект
23 Рэйв
 
06.02.17
10:46
Учитывая (3) :-)Если это ОФ
в (20)Можно Объект не использовать
в(21) передавать ЭтотОбъект в открываемую форму
24 Рэйв
 
06.02.17
10:47
давно пора уже добавить обязательную для заполнения подрубрику "ОФ" "УФ"  при создании темы. Вечно путаница...
25 Alek1sei
 
06.02.17
10:49
ОФ.
Сделал так:
Для Каждого Стр Из СписокЗаказов Цикл
Заказ = Стр.Значение;
НоваяСтрока = СсылкаНаОбъект.ЗаказыПокупателей.Добавить();
НоваяСтрока.ЗаказПокупателя = Заказ;
НоваяСтрока.НеВычислятьКоличествоИМассу = ЗначениеЗаполнено(НоваяСтрока.ЗаказПокупателя.цсКомплексныйЗаказ);
НоваяСтрока.СобиратьОтдельно = НоваяСтрока.ЗаказПокупателя.Контрагент.СобиратьОтдельно;
НоваяСтрока.ДобавленБезРезерва = Истина;
КонецЦикла;
ЭтаФорма.Закрыть();
26 Alek1sei
 
06.02.17
10:49
Получил: {Документ.цсОтгрузкаЗаказовПокупателей.Форма.ФормаДобавитьБезРезерва(43)}: Ошибка при вызове метода контекста (Добавить)
НоваяСтрока = СсылкаНаОбъект.ЗаказыПокупателей.Добавить();
по причине:
Объект недоступен для изменения.
27 vicof
 
06.02.17
10:50
НоваяСтрока = ЗаказыПокупателей.Добавить();
28 Alek1sei
 
06.02.17
10:51
(27) Не основная форма.
29 Alek1sei
 
06.02.17
10:53
Форма вызывается из формы документа, там реквизит типа список значений, который заполняеся подбором. При нажатии ОК на форме строки нужно добавит в ТЧ Остновной формы
30 Рэйв
 
06.02.17
10:54
(26)я же написал - если ОФ, то вместо ссылки в СсылкаНаОбъект передавай ЭтотОбъект
31 Рэйв
 
06.02.17
10:56
(28)Если в реквизитах формы есть жирный реквизит ДокументОбъект, то неважно основная она или нет - (27) будет работать
32 Alek1sei
 
06.02.17
10:59
(30) Спасибо большое. Точно, в ссылку пытался же записать..