Переключение на Главную Страницу Страницы: 1 ... 76 77 [78] 79 80 81 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения. Часть 2. (число прочтений - 376024 )
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1155 - 11. Июня 2015 :: 09:16
Печать  
А что, отбор по периодическому числовому реквизиту в классе невозможен?
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1156 - 11. Июня 2015 :: 13:07
Печать  
Пока решил так:

В классе ПолеНастройки.ert в методе СформироватьПолеЗапроса() добавил такое изменение:

Код
Выбрать все
			Если МетаРеквизит.Периодический = 1 Тогда
				//Для корректного отбора по периодическим, указываем, что это строка, но оставляем длину и точность, если значение реквизита = Число, чтобы корректно сравнить. См. ЭлементОтбора.ert ПолучитьТекстЗапроса()
				ВекторПоляЗапроса.ТипВид	 = "Строка";
				ВекторПоляЗапроса.Тип	     = "Строка";
				ВекторПоляЗапроса.Вид	     = "";
				ВекторПоляЗапроса.Длина	   = МетаРеквизит.Длина;
				ВекторПоляЗапроса.Точность	= МетаРеквизит.Точность;
			Иначе
				ВекторПоляЗапроса.ТипВид	  = МетаРеквизит.Тип + ?(ПустоеЗначение(МетаРеквизит.Вид) = 1,"",".") + МетаРеквизит.Вид;
				ВекторПоляЗапроса.Тип	     = МетаРеквизит.Тип;
				ВекторПоляЗапроса.Вид	     = МетаРеквизит.Вид;
				ВекторПоляЗапроса.Длина	   = МетаРеквизит.Длина;
				ВекторПоляЗапроса.Точность	= МетаРеквизит.Точность;
			КонецЕсли;
 



А в классе ЭлементОтбора.ert

чуток изменил метод ПолучитьТекстЗапроса().

После ВрегТип = Врег(ОписаниеТипов.Тип); вставил:

Код
Выбрать все
	Если ВрегТип = "СТРОКА" Тогда
		Если ТипЗначенияСтр(ЗначениеСравнения)="Число" Тогда //Приводим число в вид, корректный для сравнения со строкок (в частности для Периодических значений, т.к. они являются строками, не смотря на тип реквизита)
			//См. ПолеНастройки.ert СформироватьПолеЗапроса(), там идет типизация
			ДлЧисла			=ОписаниеТипов.Длина;
			ТочностьЧисла	=ОписаниеТипов.Точность;
			ЗначениеСравнения=""+ЗначениеСравнения;
			СтрПробелов="								 ";
			СтрПробелов  =Лев(СтрПробелов,ДлЧисла-1-ТочностьЧисла);
			ДлЦелойЧасти =СтрДлина(""+Цел(ЗначениеСравнения));
			СтрПробелов  =Лев(СтрПробелов,СтрДлина(СтрПробелов)-ДлЦелойЧасти);
			СтрПробелов  =СтрЗаменить(СтрПробелов," ","_Пр_");
			ЗначениеСравнения=СтрПробелов+ЗначениеСравнения;
			ВрегВидСравнения="СОДЕРЖИТ";
		КонецЕсли;
	КонецЕсли;
 



и далее:

Код
Выбрать все
	ИначеЕсли (ВрегВидСравнения = "СОДЕРЖИТ") ИЛИ (ВрегВидСравнения = "НЕСОДЕРЖИТ") Тогда
		СтрокаУсловия = ?(ВрегВидСравнения = "СОДЕРЖИТ","like","not like");
		ЗначениеСравнения = СокрЛП(ЗначениеСравнения);
		ЗначениеСравнения = СтрЗаменить(ЗначениеСравнения,"_Пр_"," ");
 

« Последняя редакция: 11. Июня 2015 :: 15:13 - alyuev »  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Zhenya
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 18. Октября 2010
Пол: Женский
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1157 - 27. Октября 2015 :: 16:34
Печать  
А ткните носом кто-нибудь, как в ПоставщикДанных.ИндексированнаяТаблица с заполнением из ПрямойЗапрос вывести подвал с итогами по колонкам?
  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1158 - 11. Ноября 2015 :: 04:58
Печать  
Дано:
Винда7, 64-разрядная. 1с 7.7.27 секрелиз, ПоставщикДанных-  версия из темы с обновлениями.

пытаюсь создать объект ("ППоставщикДанных.справочник"), но в данном контексте не важно - была  ругань на отсутсвие MSCOMCTL.OCX.
Слил с сайта майкрософта, поставил.
все равно идет ошибка
ПоставщикДанных.ТипЗначений = "Справочник.ГрафикПлатежей";
{Обработка.ФормаГрафикПлатежей.Форма.Модуль(170)}: ПоставщикДанных::ПриЗаписи_ТипЗначений(Строка Параметр=Справочник.ГрафикПлатежей) : иотекаКартинок Параметр=) : ПоставщикДанных.БиблиотекаКартинок::ПолучитьОбъектListImage(Картинка Пиктограммы=, Число Ширина=16, Число Высота=16, Число Количество=26) : Неудачная попытка создания объекта
ОбъектImageListCtrl = СоздатьОбъект("MSComctlLib.ImageListCtrl");
{C:\bases\1c\ПоставщикДанных\ПоставщикДанных.БиблиотекаКартинок.ert(41) }

КоманднаяПанель.КартинкиПанелиУправления = БиблиотекаКартинок.ОбъектListImage;
{C:\bases\1c\ПоставщикДанных\ПоставщикДанных.ТабличноеПоле.ert(367) }

ПоставщикДанных.БиблиотекаКартинок = БиблиотекаКартинок;
{C:\bases\1c\ПоставщикДанных\ПоставщикДанных.ert(163) }
------------------
вопрос: что я не доделал до конца?
---
(классы обновлены до последних, на этой машине (и вообще в этой конторе) ПД не применялся...)
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1159 - 18. Ноября 2015 :: 13:26
Печать  
Зарегить надо comdlg32.ocx
  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1160 - 19. Ноября 2015 :: 06:27
Печать  
Eprst писал(а) 18. Ноября 2015 :: 13:26:
Зарегить надо comdlg32.ocx

такового в системе вообще нет. есть comdlg32.dll,  но при попытке регистрации регсервер говорит, что модуль загружен, но точка входа dllRegister не найдена...
на сайте мелкомягких ocx не нашел. Говорят, типа "раз у вас 64-разрядная система, значит вам не повезло"
В каком он пакете может быть? в VisualBasic6-KB896559 нету,  а вроде больше обновлений для общих элементов управления не было...
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1161 - 19. Ноября 2015 :: 12:19
Печать  
А регистрил так ?
%WinDir%\SysWOW64\regsvr32.exe comdlg32.dll ?


ЗЫ:regsvr32 должен быть из SysWOW64
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1162 - 19. Ноября 2015 :: 12:21
Печать  
Это, у тя тоже не работает, так ?
  

_____________________011.ert ( 96 KB | Загрузки )
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1163 - 19. Ноября 2015 :: 12:51
Печать  
Eprst писал(а) 19. Ноября 2015 :: 12:19:
А регистрил так ?
%WinDir%\SysWOW64\regsvr32.exe comdlg32.dll ?
ЗЫ:regsvr32 должен быть из SysWOW64

попробовал - монопенисуально... тот же ответ. "модуль загружен, но точка входа..."
Обрабботка говорит "нет в системе файла comdlg32.ocx"
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1164 - 19. Ноября 2015 :: 13:10
Печать  
Тут внутри должно быть: https://www.microsoft.com/en-us/download/details.aspx?id=7030
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1165 - 19. Ноября 2015 :: 15:16
Печать  
Я регистрирую MSCOMCTL.OCX в каталоге c:\Windows\SysWOW64\ через regsvr32.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
DJRelax
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 3
Местоположение: Москва
Зарегистрирован: 26. Января 2017
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1166 - 05. Марта 2017 :: 20:12
Печать  
Простите за нубский вопрос, пока только осваиваю данный класс.
Но как/где можно получить список выделенных строк(при ТП.РежимВыделения = 1) на ТП с типом "ПоставщикДанных.Документы". Уже все облазил, но с таким отладчиком как в 77 это тяжело сделать.

И еще может где есть более полный список методов и параметров к этому паку классов, а то ведь не все в доках есть, вот например "РежимВыделения" в отладчике нашел, а  в доках нет?
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1167 - 05. Марта 2017 :: 20:59
Печать  
Код (Javascript)
Выбрать все
ВыдСтроки=ПоставщикДанных.Данные.ВыделенныеСтроки;
КолВо=ВыдСтроки.Количество();
Для нн=0 По КолВо-1 Цикл
	ТекЭл=ВыдСтроки.Получить(нн); //Сразу возвращает элемент справочника
КонецЦикла; 


  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 634
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1168 - 05. Марта 2017 :: 20:59
Печать  
DJRelax писал(а) 05. Марта 2017 :: 20:12:
И еще может где есть более полный список методов и параметров к этому паку классов, а то ведь не все в доках есть, вот например "РежимВыделения" в отладчике нашел, а  в доках нет?

ПоставщикДанных является классом-наследником от объекта 1с++ ТабличноеПоле, некоторые объекты/свойства переопределены/расширены, некоторых не было при создании класса или не было необходимости в их изменении и поэтому их нет в документации к ПоставщикуДанных.
То что чего нет в документации по ПоставщикуДанных искать тут: http://www.1cpp.ru/docum/icpp/html/TableField.html

  
Наверх
www  
IP записан
 
DJRelax
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 3
Местоположение: Москва
Зарегистрирован: 26. Января 2017
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1169 - 05. Марта 2017 :: 21:41
Печать  
Огромное СПАСИБО
Прям таки выручили!
Простите просто про ООП забылся, с непривычки это все в семерке для меня, давно уже в ней не работал.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 76 77 [78] 79 80 81
ОтправитьПечать