Имя: Пароль:
1C
1С v8
Получение формы и изменение ее данных
0 Валидатор
 
21.12.12
12:19
Есть обработка, при нажатии на кнопку формируется определенный документ(на основании введеных данных), и открывается форма этого документа(с реквизитами, заполненой ТЧ) + еще одна форма, которая так же принадлежит этому документу(допформа, на этой форме только ТЧ есть). Как сделать, чтобы данные, которые находятся в ТЧ заполненой формы( форма документа) попадали так же в ТЧ доп формы?
1 Валидатор
 
21.12.12
12:21
делал так:
   РСО = Документы.РасходныйСкладскойОрдер.СоздатьДокумент();
РСО.Организация = -//-
РСОТЧ = РСО.Товары.Добавить();, заполнял РСОТЧ, потом открываем форму нашу доп
ДополнФорма = РСО.ПолучитьФорму(допформа);
ДополнФорма.Открыть();


а как заполнить мне данные этой формы? точнее ТЧ ее?
2 Валидатор
 
21.12.12
12:23
ТЧ, которую нужно заполнить в допформе называется Товары
вещь, типа
ДополнФорма.Товары.Номенклатура = данные из РСо не прокатит
3 Валидатор
 
21.12.12
12:32
пацаны?
4 Рэйв
 
21.12.12
12:34
Сделай у двух табличных полей на двух формах  один источник данных и будет тебе счастье
5 Валидатор
 
21.12.12
12:35
(4) можно подробнее?)
6 Валидатор
 
21.12.12
12:36
точнее тип данных у них одинаков
7 Валидатор
 
21.12.12
12:36
в тп
8 Валидатор
 
21.12.12
12:37
хотя тип значений разный, и просто во второй табличной части, на до пофрме которая нужно заполнять только 3 колонки, а на форме документа все
9 Рэйв
 
21.12.12
12:37
В первой форме по простому из меню Форма->Размещение данных -> Вставляешь таб часть

Во второй форме кидаешь на нее табличное поле и в свойсвах в поле Данные выбираешь ту же табличную часть.

В результате и там и там все измененя будут синхронными
10 Рэйв
 
21.12.12
12:38
только помоему во вторую колонки придется ручками добавлять через ПКМ по полю->Hfpvtotybt lfyys[
11 Рэйв
 
21.12.12
12:39
Hfpvtotybt lfyys[
=
Размещение данных
12 Валидатор
 
21.12.12
12:39
Первая форма у меня типовая, документа расходный складской ордер, вторую форму рисовал сам, но не могу посмотреть какой тип данных у первой формы, данные там Товары(название ТЧ), во второй форме, я тоже назвал ТЧ Товары, тока Тип надо походу одинаковый теперь так?
13 Рэйв
 
21.12.12
12:40
(12)Не надо "назвал товары", надо кликнуть на педальку и выбрать таб часть Товары
14 zladenuw
 
21.12.12
12:41
(12) я делал проще. копировал форму в свою обработку и назначал ей документссылка.мойдокумент
15 Валидатор
 
21.12.12
12:45
а получить форму, и заполнить ее нужными мне данными вручную нельзя что ли никак?
16 Рэйв
 
21.12.12
12:46
(15)ВСе можно.  Получай, потом .Открыть()  и работай ручками
17 Валидатор
 
21.12.12
12:49
(16)
ДополнФорма = РСО.ПолучитьФорму(допформа);
ДополнФорма.Открыть();
а дальше как я смогу в ней лазить? смотрел отладчиком, эту форму, все данные есть на ней, но как мне в ТЧ что-либо добавить?
ДополнФорма.Товары.Номенклатура = Номенклатура
не проканает
18 zladenuw
 
21.12.12
12:49
Функция ПолучитьФормуДокумента(Владелец,УникальныйИИ)
   ФормаДокумента = Реквизит.ПолучитьФорму("ФормаДокумента1",ЭтаФорма,УникальныйИИ);
   Если ТипЗнч(УникальныйИИ) =Тип("ДокументОбъект.РеализацияТоваровУслуг") Тогда
       ФормаДокумента.ДокументОбъект = УникальныйИИ;
   Иначе    
       ФормаДокумента.ДокументОбъект = УникальныйИИ.ПолучитьОбъект();
   КонецЕсли;
   ФормаДокумента.Открыть();    
   //Возврат ФормаДокумента;
КонецФункции

Процедура ДокументСписокПередНачаломДобавления(Элемент, Отказ, Копирование)
   Если  Копирование Тогда
       пДокумент = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
       пОбъектКопирования = Элемент.ТекущаяСтрока.ПолучитьОбъект();
       ЗаполнитьЗначенияСвойств(пДокумент,пОбъектКопирования);
       пДокумент.Товары.Загрузить(пОбъектКопирования.Товары.Выгрузить());
       пДокумент.Услуги.Загрузить(пОбъектКопирования.Услуги.Выгрузить());
       ФормаДокумента = ПолучитьФормуДокумента(ЭтаФорма,пДокумент);
   Иначе    
       ФормаДокумента = ПолучитьФормуДокумента(ЭтаФорма,Документы.РеализацияТоваровУслуг.СоздатьДокумент());
   КонецЕсли;
   Отказ = Истина;
КонецПроцедуры
19 Рэйв
 
21.12.12
12:51
(17)То есть как это "как добавить"?  После .Открыть у тебя открытая форма. Ты же хотел ручками - вот и добавляй.
20 Валидатор
 
21.12.12
12:52
(19) не, не так значит я вопрос поставил, я хотел в коде сделать заполнение моей ТЧ
21 Рэйв
 
21.12.12
12:58
(20)Ты тогда определись с формулировкой вопроса..
А то спрашиваешь
"а получить форму, и заполнить ее нужными мне данными вручную нельзя? "

А потом оказывется что все не так
22 zladenuw
 
21.12.12
12:58
ФормаДокумента.ДокументОбъект
23 zladenuw
 
21.12.12
13:03
(20) возьми скопируй форму документа в свою обработку и убери все объекты которые тебе не надо. тогда ты сможешь напрямую обращаться к реквизитам. и ТЧ будет заполнятся при открытии формы. походу не слышит он :)
Ошибка? Это не ошибка, это системная функция.