Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Как сделать 2 таб. части документа? (число прочтений - 6251 )
uchenik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 21. Октября 2008
Как сделать 2 таб. части документа?
04. Декабря 2008 :: 16:46
Печать  
Например в верхней таблице номенклатура, а в нижней ее состав?
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как сделать 2 таб. части документа?
Ответ #1 - 04. Декабря 2008 :: 18:26
Печать  
1 - Через Подчиненный документ.
2 - Через подчиненный служебный справочник.
3 - Самому через таблицу.
  
Наверх
IP записан
 
uchenik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 21. Октября 2008
Re: Как сделать 2 таб. части документа?
Ответ #2 - 04. Декабря 2008 :: 18:35
Печать  
pvase писал(а) 04. Декабря 2008 :: 18:26:
1 - Через Подчиненный документ.
2 - Через подчиненный служебный справочник.
3 - Самому через таблицу.

Да уж .спасибо тебе большое, а я и не знал. пример кинь, если есть.

если в ТП отображать данные из ТЗ, то можно их редактировать прямо в ТП или нет.
Вот у меня обработка. Редактировать в ТП ничего не дает.
Перем тпНаФорме;//:ТабличноеПоле
Перем итРезультат;

//*******************************************
Процедура ПослеСозданияФормы()
     
     итРезультат=СоздатьОбъект("ИндексированнаяТаблица");
     итРезультат.НоваяКолонка("Номенклатура");
     итРезультат.НоваяКолонка("Количество");
     итРезультат.НоваяСтрока();
     итРезультат.Номенклатура = "Товар1";
     итРезультат.Количество = 1;
     итРезультат.НоваяСтрока();
     итРезультат.Номенклатура = "Товар2";
     итРезультат.Количество = 2;

     Ф=СоздатьОбъект("Форма");
     тпНаФорме=Ф.СоздатьЭлементУправленияНаФорме(Форма, "ТабличноеПоле", "тпНаФорме");
     
     Поставщик=СоздатьОбъект("ПоставщикДанныхИТ");
     Поставщик.ИндексированнаяТаблица=итРезультат;
     тпНаФорме.ПоставщикДанных=Поставщик;
     
     Колонка=тпНаФорме.Колонки.Добавить("Номенклатура");
     Колонка.Данные = "Номенклатура";
     Колонка=тпНаФорме.Колонки.Добавить("Количество");
     Колонка.Данные = "Количество";
     
     тпНаФорме.ОбновитьСтроки();

КонецПроцедуры      // ПослеСозданияФормы
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как сделать 2 таб. части документа?
Ответ #3 - 04. Декабря 2008 :: 18:48
Печать  
Примерно так:
Код
Выбрать все
Перем ТПФормы, итРезультат;
//*******************************************
Процедура ПослеСозданияФормы()

     итРезультат=СоздатьОбъект("ИндексированнаяТаблица");
     итРезультат.НоваяКолонка("Номенклатура");
     итРезультат.НоваяКолонка("Количество");
     итРезультат.НоваяСтрока();
     итРезультат.Номенклатура = "Товар1";
     итРезультат.Количество = 1;
     итРезультат.НоваяСтрока();
     итРезультат.Номенклатура = "Товар2";
     итРезультат.Количество = 2;

     Ф=СоздатьОбъект("Форма");
     ТПФормы=Ф.СоздатьЭлементУправленияНаФорме(Форма, "ТабличноеПоле", "тпНаФорме");

     Поставщик=СоздатьОбъект("ПоставщикДанныхИТ");
     Поставщик.ИндексированнаяТаблица=итРезультат;
     ТПФормы.ПоставщикДанных=Поставщик;

	 Колонки = ТПФормы.Колонки;
     Колонка = Колонки.Добавить("Номенклатура");
     Колонка.Данные = "Номенклатура";
     Колонка = Колонки.Добавить("Количество");
     Колонка.Данные = "Количество";

     ТПФормы.ОбновитьСтроки();

КонецПроцедуры	// ПослеСозданияФормы


Процедура ТтпНаФормеПриРедактированииЗначения(__тп, __стр, __кол, __рег, __знач)
	ИмяКол = __кол.Имя;
	//Если ИмяКол = "Статья" Тогда
	//	;
	//КонецЕсли;
	ПредЗнач = итРезультат.ПолучитьЗначение(__стр, ИмяКол);
	Если ПредЗнач <> __знач Тогда
		итРезультат.УстановитьЗначение(__стр, ИмяКол,__знач);
		итРезультат.УстановитьЗначение(__стр, "Изменен",1);

	КонецЕсли;

	ТПФормы.ОбновитьСтроки();
	Форма.Обновить();
КонецПроцедуры

Процедура тпНаФормеВыбор(_ТП, __стр, __кол,__рег)
	Если __рег <> 3 Тогда
		Возврат;
	КонецЕсли;
	//ТПКаленд.ВыделенныеСтроки.Очистить();
	ИмяКол = __кол.Имя;

	Если  (ИмяКол = "Номенклатура")	Тогда
		зн = ТПФормы.ТекущиеДанные.Получить("Номенклатура").ТекущийЭлемент();
		,зн,0,0,"ВыбРеквизит","0x00000020");
	ИначеЕсли (ИмяКол = "Количество") Тогда
		зн = ТПФормы.ТекущиеДанные.Получить(ИмяКол);
		ТПФормы.РедактироватьЗначение(ТПФормы.ТекущаяСтрока,ТПФормы.ТекущаяКолонка, __рег, зн, 17, 2, "ВыбРеквизит", "0x100220");
	КонецЕсли;

	Если (ПустоеЗначение(ТекПользователь) = 1) И (ИмяКол <> "СуммаПодтв") Тогда
		Предупреждение("Сначала надо выбрать Пользователя");
		Возврат;
	КонецЕсли;

	Если ИмяКол = "Статья" Тогда
		зн = ТПКаленд.ТекущиеДанные.Получить("Статья").ТекущийЭлемент();
		зн,0,0,"ВыбРеквизит","0x00000020");  

  
Наверх
IP записан
 
uchenik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 21. Октября 2008
Re: Как сделать 2 таб. части документа?
Ответ #4 - 04. Декабря 2008 :: 18:54
Печать  
спасибо. буду разбираться.
а описание про РедактироватьЗначение где найти?
У меня в документации  нет.
  
Наверх
 
IP записан
 
uchenik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 21. Октября 2008
Re: Как сделать 2 таб. части документа?
Ответ #5 - 04. Декабря 2008 :: 19:14
Печать  
Если __рег <> 3 Тогда Возврат;КонецЕсли;
а что за параметр _рег? Почему он сравнивается с 3?

     
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как сделать 2 таб. части документа?
Ответ #6 - 04. Декабря 2008 :: 19:23
Печать  
uchenik писал(а) 04. Декабря 2008 :: 18:54:
спасибо. буду разбираться.
а описание про РедактироватьЗначение где найти?
У меня в документации  нет.


Вот здесь есть кое что:
http://www.1cpp.ru/docum/icpp/html/TableField.html
и вот здесь:
http://www.1cpp.ru/forum/YaBB.pl?num=1202765199/0
  
Наверх
IP записан
 
uchenik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 21. Октября 2008
Re: Как сделать 2 таб. части документа?
Ответ #7 - 05. Декабря 2008 :: 08:11
Печать  
а все таки что за параметр РЕГИОН? Почему он равен 3? В каких случаях он равен не 3?
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Как сделать 2 таб. части документа?
Ответ #8 - 05. Декабря 2008 :: 08:14
Печать  
uchenik писал(а) 05. Декабря 2008 :: 08:11:
а все таки что за параметр РЕГИОН? Почему он равен 3? В каких случаях он равен не 3?

http://www.1cpp.ru/docum/icpp/html/TableField.html#id78
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kriblya
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 313
Зарегистрирован: 24. Декабря 2007
Re: Как сделать 2 таб. части документа?
Ответ #9 - 05. Декабря 2008 :: 08:27
Печать  
  
Наверх
 
IP записан
 
uchenik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 21. Октября 2008
Re: Как сделать 2 таб. части документа?
Ответ #10 - 05. Декабря 2008 :: 08:38
Печать  
kms писал(а) 05. Декабря 2008 :: 08:14:
uchenik писал(а) 05. Декабря 2008 :: 08:11:
а все таки что за параметр РЕГИОН? Почему он равен 3? В каких случаях он равен не 3?

http://www.1cpp.ru/docum/icpp/html/TableField.html#id78

т.е. 3 это основная часть ТП. Понятно. Спасибо.
  
Наверх
 
IP записан
 
uchenik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 21. Октября 2008
Re: Как сделать 2 таб. части документа?
Ответ #11 - 05. Декабря 2008 :: 08:39
Печать  
kriblya писал(а) 05. Декабря 2008 :: 08:27:

Спасибо. Уже нашел.

Отличный сайт!!!
  
Наверх
 
IP записан
 
uchenik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 17
Зарегистрирован: 21. Октября 2008
Re: Как сделать 2 таб. части документа?
Ответ #12 - 05. Декабря 2008 :: 10:43
Печать  
А подскажите еще пожалуйста. Хочу настроить привязку элементов.
У меня есть обработка Общие.Форма.Привязка.ert.
Эта команда выполняется:
гРФорма=СоздатьОбъект("Общие.Форма.Привязка");
а эта нет:
гРасшФорма=СоздатьОбъект("СервисРасшФормы");

Эти команды из примера НастройкаВесов.ert

Что делать?

  
Наверх
 
IP записан
 
kriblya
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 313
Зарегистрирован: 24. Декабря 2007
Re: Как сделать 2 таб. части документа?
Ответ #13 - 05. Декабря 2008 :: 11:01
Печать  
замени СервисРасшФормы на Сервис
или создай клас наследник СервисРасшФормы от Сервис.

это было сделано при переходе FormEx с 2.0.0. на 2.0.5
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как сделать 2 таб. части документа?
Ответ #14 - 05. Декабря 2008 :: 11:13
Печать  
kriblya писал(а) 05. Декабря 2008 :: 11:01:
замени СервисРасшФормы на Сервис
или создай клас наследник СервисРасшФормы от Сервис.

это было сделано при переходе FormEx с 2.0.0. на 2.0.5

Или в разделе Репозитарий возьми/найди более новую версию этого класса. Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать