Имя: Пароль:
1C
1С v8
УТ 11 работа с формами.
0 Aleksei_Pro
 
29.08.12
09:59
Нужно из документа открыть другую форму этого документа и от туда вытищать тз. ( на 2 форме при закрытии пишу "Закрыть(ТЗ)"), а вот в 1 форме как е получить:
   Тов  = ОткрытьФорму("Документ.ЗаказКлиента.Форма.ФормаЗагрузкиИзФайла");
   Для каждого ТС из Тов Цикл
       
   КонецЦикла;
Что не так?
1 Wobland
 
29.08.12
10:00
>и от туда вытищать тз
ну рассказывай, что там в этой ТЗ до её открытия
2 Wobland
 
29.08.12
10:01
показать видео, как разместить ТЗ на форме, кстати? а то многие не верят, что можно
3 Aleksei_Pro
 
29.08.12
10:04
(1) на форме ТЗ , с колонкой номенклатура и количество, которые заполнились из файла , а теперь мне нужно переместить в ТЧ документа
4 Wobland
 
29.08.12
10:05
(3) заполнить ТЧ из файла не предлагать?
5 Wobland
 
29.08.12
10:05
(3) и покажи скрин ТЗ на форме
6 MadHead
 
29.08.12
10:06
Передавай через Опопвещение() к примеру.
7 Aleksei_Pro
 
29.08.12
10:07
(6) не понял а как?
8 Aleksei_Pro
 
29.08.12
10:08
Оповестить("ЗакрытьФорму",ТаблицаСопоставления,ЭтаФорма);
9 MadHead
 
29.08.12
10:10
(8) примерно так.
10 Aleksei_Pro
 
29.08.12
10:10
(9) ну тык    
Тов  = ОткрытьФорму("Документ.ЗаказКлиента.Форма.ФормаЗагрузкиИзФайла");
   Для каждого ТС из Тов Цикл
       
   КонецЦикла;

пишет интегратор не определен.
11 Wobland
 
29.08.12
10:12
(10) а всё от того, что форма - это не коллекция
12 Aleksei_Pro
 
29.08.12
10:13
а как с одной формы передать тз на другую форму?
13 Wobland
 
29.08.12
10:15
(12) а зачем?
14 Aleksei_Pro
 
29.08.12
10:18
все получилось
15 Aleksei_Pro
 
29.08.12
10:55
Вопрос: почему кол-во не проставляется на форме, отладчик говорит что кол-во заполнено:
   Тов  = ОткрытьФормуМодально("Документ.ЗаказКлиента.Форма.ФормаЗагрузкиИзФайла");
   
   Режим = РежимДиалогаВопрос.ДаНет;
   Текст = "Очистить табличную часть перед заполнением?";
   Ответ = Вопрос(Текст, Режим, 0);
   Если Ответ = КодВозвратаДиалога.Да Тогда
       Объект.Товары.Очистить();
   КонецЕсли;
   Ном=0;
   Для каждого ТС из Тов Цикл
       Ном= ном+1;
       НовСтр = Объект.Товары.Добавить();
       НовСтр.номенклатура = ТС.Номенклатура;
       НовСтр.Количество = ТС.количество;
       НовСтр.Цена = ТС.Стоимость;
       НовСтр.СтавкаНДС = ТС.Номенклатура.СтавкаНДС;
       НовСтр.кодстроки = ном;
        идет пересчет ТЧ документа        
       СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруПересчетаСуммыНДСВСтрокеТЧ(Объект);
       СтруктураДействий = Новый Структура;
       СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
       СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
       СтруктураДействий.Вставить("ПересчитатьСумму");
       СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомРучнойСкидки", Новый Структура("Очищать", Ложь));
       СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомАвтоматическойСкидки", Новый Структура("Очищать", Истина));
       СтруктураДействий.Вставить("ЗаполнитьДубликатыЗависимыхРеквизитов", ПолучитьСтруктуруЗависимыхРеквизитов());
       
       ОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(новСтр, СтруктураДействий, КэшированныеЗначения);        
       РассчитатьИтоговыеПоказателиЗаказа(ЭтаФорма);
       СкидкиНаценкиКлиент.СброситьФлагСкидкиРассчитаны(ЭтаФорма);        
   КонецЦикла;