Переключение на Главную Страницу Страницы: 1 ... 9 10 [11] 12 13 ... 79 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения, примеры, вопросы (число прочтений - 363916 )
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #150 - 10. Сентября 2009 :: 17:57
Печать  
JohnyDeath писал(а) 10. Сентября 2009 :: 17:50:
Ну хуже-то точно не будет Подмигивание


Почему же не будет Улыбка
Будет еще как... например можно сделать соединение с таблицей без индексов вот тогда еще как станет хуже  Смех

А вообще я счас рассматриваю вариант со структурой, которая выставляется наружу. Потому что, с одной стороны хочется чтобы и в отборе данные колонки тоже участвовали, НО с другой стороны, для этого надо и типизацию, и длину, и точность, и еще кое-что указывать. В общем то не проблема, но заморочка  Улыбка. Да и хочется чтобы в итоге органично смотрелось все.

Пы.сы. а мне даже связка ПоставщикДанных+ПрямойЗапрос больше нравится чем они по отдельности. Много очень можно чего хорошего наделать.

Жаль что 7-ка отошла на второй план
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #151 - 10. Сентября 2009 :: 18:19
Печать  
Цитата:
Жаль что 7-ка отошла на второй план


Гноби восьмерку, давай возвращайся в семерку, семью нельзя покидать на первую новую версию, а что если с нового года девятка, что тогда, вернусь в семью мы все простим  Смех
  

Старание и труд все перетрут.
Наверх
 
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #152 - 10. Сентября 2009 :: 18:37
Печать  
Вопрос может не в ту ветку но по твоему классу Управление формой:
Чете недоганяю, форма сначала все нормально показывает, а потом не привязывает к форме элементы, что не так, вот кусок кода:
Код
Выбрать все
Процедура ПослеОткрытия()
	Форма.тпФормаГруппыКоманднаяПанель.Видимость(0);
	Форма.тпФормаГруппыКоманднаяПанель.Видимость(1);
	Привязка.ПослеОткрытия();
КонецПроцедуры

Процедура ПриИзмененииРазмераОкна(вТипСобытия, вШирина, вВысота)
	Привязка.ПриИзмененииРазмераОкна(вТипСобытия, вШирина, вВысота);
КонецПроцедуры

//
Процедура ПослеСозданияФормы()
	УстановитьПоставщикаДанныхЭлемент();
	Привязка.ПослеСозданияФормы();
КонецПроцедуры
//
Процедура ПриОткрытии()

	УправлениеФормой = СоздатьОбъект("УправлениеФормой");
	Привязка = УправлениеФормой.ПривязкаЭлементов; //Привязка//:УправлениеФормой.Привязка

	Параметры = Привязка.Добавить("тпФормаГруппы");
	Параметры.Право.Вид = Привязка.ПраваяГраница;
	Параметры.Право.Элемент = "Форма";
	Параметры.Низ.Вид = Привязка.НижняяГраница;
	Параметры.Низ.Элемент = "Форма";

	Параметры = Привязка.Добавить("тпФормаГруппыЗакладки");
	Параметры.Право.Вид = Привязка.ПраваяГраница;
	Параметры.Право.Элемент = "Форма";

	Параметры = Привязка.Добавить("тпФормаГруппыКоманднаяПанель");
	Параметры.Право.Вид = Привязка.ЛеваяГраница;
	Параметры.Право.Элемент = "Форма";
	Параметры.Низ.Вид = Привязка.НижняяГраница;
	Параметры.Низ.Элемент = "Форма";


КонецПроцедуры
 



Да и еще что за просвечивается фон слева под кнопками, исчезает например при переключении виндовых окон программ


  

Старание и труд все перетрут.
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #153 - 10. Сентября 2009 :: 18:54
Печать  
После указания привязки любой необходимо вызвать метод Привязать(). Причем ОБЯЗАТЕЛЬНО. Ну и естественно в событии "ПриОткрытии".
А скриншоты убери плиз, я все понял, спасибо, но теперь они трафик кушать будут... ни к чему это  Подмигивание

Пы.сы кстати весьма симпотично у тебя получается твой поставшик реквизитов Подмигивание

Пы.пы.сы. а вот фон внизу кнопок, эт не ко мне, а к Биллу родимому, или может к Нуралиеву... х.з. в общем не я его рисую Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #154 - 10. Сентября 2009 :: 19:07
Печать  
vandalsvq писал(а) 10. Сентября 2009 :: 18:54:
После указания привязки любой необходимо вызвать метод Привязать(). Причем ОБЯЗАТЕЛЬНО. Ну и естественно в событии "ПриОткрытии".
А скриншоты убери плиз, я все понял, спасибо, но теперь они трафик кушать будут... ни к чему это  Подмигивание

Пы.сы кстати весьма симпотично у тебя получается твой поставшик реквизитов Подмигивание



Добавил в процедуру при открытии
Код
Выбрать все
УправлениеФормой = СоздатьОбъект("УправлениеФормой");
	Привязка = УправлениеФормой.ПривязкаЭлементов; //Привязка//:УправлениеФормой.Привязка

	Параметры = Привязка.Добавить("тпФормаГруппы");
	Параметры.Право.Вид = Привязка.ПраваяГраница;
	Параметры.Право.Элемент = "Форма";
	Параметры.Низ.Вид = Привязка.НижняяГраница;
	Параметры.Низ.Элемент = "Форма";

	Параметры = Привязка.Добавить("тпФормаГруппыЗакладки");
	Параметры.Право.Вид = Привязка.ПраваяГраница;
	Параметры.Право.Элемент = "Форма";

	Параметры = Привязка.Добавить("тпФормаГруппыКоманднаяПанель");
	Параметры.Право.Вид = Привязка.ЛеваяГраница;
	Параметры.Право.Элемент = "Форма";
	Параметры.Низ.Вид = Привязка.НижняяГраница;
	Параметры.Низ.Элемент = "Форма";

	Привязка.Привязать();
 



Получается вообще фигня, четверть окна привязка элементов, что не так в моем коде!

И как ты боролся с фоном тем?
  

Старание и труд все перетрут.
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #155 - 10. Сентября 2009 :: 19:23
Печать  
У меня с привязкой все в норме. Х.з. может ты в тхт положишь код ПриОткрытии я гляну (чтобы тему не засорять) Подмигивание
А с фоном я никак не боролся, забил по-русски говоря.  Класс
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #156 - 10. Сентября 2009 :: 19:29
Печать  
vandalsvq писал(а) 10. Сентября 2009 :: 19:23:
У меня с привязкой все в норме. Х.з. может ты в тхт положишь код ПриОткрытии я гляну (чтобы тему не засорять) Подмигивание
А с фоном я никак не боролся, забил по-русски говоря.  Класс

Лови.
  

Temp.txt ( 2 KB | Загрузки )

Старание и труд все перетрут.
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #157 - 10. Сентября 2009 :: 19:33
Печать  
Вот этот код
Код
Выбрать все
Привязка.ПослеСозданияФормы(); 


И вот этот вот код
Код
Выбрать все
Процедура ПриИзмененииРазмераОкна(вТипСобытия, вШирина, вВысота)
	Привязка.ПриИзмененииРазмераОкна(вТипСобытия, вШирина, вВысота);
КонецПроцедуры 


Не нужен.
Никаких других телодвижений кроме тех что у тебя в событии ПриОткрытии не нужно. Класс сам перехватывает события ПослеОткрытия и ПриДвиженииМыши, так что он сам как нить разрулит Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #158 - 10. Сентября 2009 :: 19:37
Печать  
Вуаля, вот привычка от старого класса Форма.Привязка осталась, сори. Да и фон почемуто исчез.  Подмигивание

vandalsvq писал(а) 10. Сентября 2009 :: 19:33:
Вот этот код
Код
Выбрать все
Привязка.ПослеСозданияФормы(); 


И вот этот вот код
Код
Выбрать все
Процедура ПриИзмененииРазмераОкна(вТипСобытия, вШирина, вВысота)
	Привязка.ПриИзмененииРазмераОкна(вТипСобытия, вШирина, вВысота);
КонецПроцедуры 


Не нужен.
Никаких других телодвижений кроме тех что у тебя в событии ПриОткрытии не нужно. Класс сам перехватывает события ПослеОткрытия и ПриДвиженииМыши, так что он сам как нить разрулит Подмигивание

  

Старание и труд все перетрут.
Наверх
 
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #159 - 10. Сентября 2009 :: 19:39
Печать  
Ну рас ты тута, тогда вопрос я уже задавал в ветке, в предопределенной процедуре класса: Процедура ПриВыводеСтроки(ОформлениеСтроки,ДанныеСтроки,ТипРегиона) Экспорт, обрабатывается только одно табличное поле, основное для поставщика класса, а дополнительное табличное поле вообще невудел, как обработать все события для второго табличного поля на тойже форме в одном классе. Злой      
  

Старание и труд все перетрут.
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #160 - 10. Сентября 2009 :: 19:48
Печать  
Допустим у поставщика табличное поле называется "ТППоставщика", а другое табличное поле "ТПДругое". Вот событие ПриВыводеСтроки будет у каждого свое, т.е. у тебя должно быть две процедуры: ТППоставщикаПриВыводеСтроки(ТП) и ТПДругоеПриВыводеСтроки(ТП). Соответственно ТП у каждого будет переданно именно то, чье событие обрабатывается. Т.е. у первой процедуре ВСЕГДА будет только ТП поставщика, а во второй процедуре ВСЕГДА будет только ТП другое.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #161 - 10. Сентября 2009 :: 20:05
Печать  
vandalsvq писал(а) 10. Сентября 2009 :: 19:48:
Допустим у поставщика табличное поле называется "ТППоставщика", а другое табличное поле "ТПДругое". Вот событие ПриВыводеСтроки будет у каждого свое, т.е. у тебя должно быть две процедуры: ТППоставщикаПриВыводеСтроки(ТП) и ТПДругоеПриВыводеСтроки(ТП). Соответственно ТП у каждого будет переданно именно то, чье событие обрабатывается. Т.е. у первой процедуре ВСЕГДА будет только ТП поставщика, а во второй процедуре ВСЕГДА будет только ТП другое.


Это я понимаю что в локальном модуле я должен написать чтото такое:
Код
Выбрать все
Процедура тпФормаГруппыЗакладкиПриВыводеСтроки(вТабличноеПоле, вОформлениеСтроки, вДанныеСтроки, ВТипРегиона)
	Данные.ПриВыводеСтроки(вОформлениеСтроки, вДанныеСтроки, ВТипРегиона);
КонецПроцедуры

Процедура тпФормаГруппыПриВыводеСтроки(вТабличноеПоле, вОформлениеСтроки, вДанныеСтроки, ВТипРегиона)
	Данные.ПриВыводеСтроки(вОформлениеСтроки, вДанныеСтроки, ВТипРегиона);
КонецПроцедуры

 



Где Данные - это класс где идет обработка события, но тогда теряется универсальность класса, так как в локальном модуле надо воять для каждого табличного поля свои обработки событий с перенаправлением на класс, а никак нельзя в классе получить чье (какое) табличное поле вызывает событие напрямую?
  

Старание и труд все перетрут.
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #162 - 10. Сентября 2009 :: 20:10
Печать  
Мы счас друг друга запутаем.
Давай я тут малость полемикой займусь.

Есть обязательные условия:
1. Один поставщик = одно табличное поле = одна командная панель = один тип значений
2. Объект расширение обязано на себя взять все события табличного поля + ряд других обязательных событий класса ПоставщикДанных.ТабличноеПоле.
3. Объект расширение наследуется от одного ТП поэтому работать с двумя физически не может.
Поэтому либо ты одно наследуешь (и оно полностью идет без дополнительных вызовов из формы (как сейчас у меня в расширениях)), либо ты реализуешь второе табличное поле с вызовом событий из формы, либо ты реализуешь второго связанного поставщика который сам собой управляет.
Как то так...

Пы.сы. я писал в общем поскольку я боюсь что недопонимаю твою конкретную задачу.

Пы.пы.сы. у меня сегодня ДР. можно я спать пойду?  Смех
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Zealot
1c++ donor
Отсутствует


Будьте профессионалами!

Сообщений: 180
Местоположение: KIEV
Зарегистрирован: 17. Сентября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #163 - 10. Сентября 2009 :: 20:15
Печать  
Мои поздравления. Всегда чтобы тебе сопутствовало везение и легкость во всех твоих делах. Также как обычно ЗдоДенЩя!  Класс
  

Старание и труд все перетрут.
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных"
Ответ #164 - 10. Сентября 2009 :: 20:18
Печать  
Zealot писал(а) 10. Сентября 2009 :: 20:15:
Мои поздравления. Всегда чтобы тебе сопутствовало везение и легкость во всех твоих делах. Также как обычно ЗдоДенЩя!  Класс

Спс... ну все я ушел...  Язык
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 9 10 [11] 12 13 ... 79
ОтправитьПечать