Переключение на Главную Страницу Страницы: 1 ... 24 25 [26] 27 28 ... 81 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения. Часть 2. (число прочтений - 399406 )
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #375 - 30. Июня 2011 :: 08:22
Печать  
а если по ветке поискать?
  
Наверх
wwwICQ  
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #376 - 30. Июня 2011 :: 09:52
Печать  
Anatol писал(а) 30. Июня 2011 :: 08:22:
а если по ветке поискать?

Надеялся, что за полгода это исправили... Печаль
Я так понимаю, первый пример проблемы не решает, так как инфа по подчиненным обновляется только при активизации окошка, а второй добавит кучу проблем в других обработках. Ждем третьего...
« Последняя редакция: 30. Июня 2011 :: 11:20 - al_zzz »  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #377 - 04. Июля 2011 :: 10:09
Печать  
Товарищи, поделитесь, пожалуйста, примером с "ПоставщикДанных.ПрямойЗапрос" или ссылкой, или формой подбора, на ПоставщикеДанных реализованной. Ну очень надо!
  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #378 - 04. Июля 2011 :: 11:07
Печать  
al_zzz писал(а) 04. Июля 2011 :: 10:09:
Товарищи, поделитесь, пожалуйста, примером с "ПоставщикДанных.ПрямойЗапрос" или ссылкой, или формой подбора, на ПоставщикеДанных реализованной. Ну очень надо!

Выдержка из документации:
Код
Выбрать все
Объект «ПрямойЗапрос» реализует механизмы для выполнения прямых запросов после их преобразования из языка запросов объявленного для данного класса, в язык запросов для ВК 1С++ и 1sqlite. КОП отвечает за обработку запроса в части:
•	Директив языка SQL
•	Языковых конструкций (функций и значений)
•	Реквизитов метаданных конфигурации
•	Формировании виртуальных таблиц данных
•	Подстановки параметров (в т.ч. и предопределенных)
 


Т.е. "ПоставщикДанных.ПрямойЗапрос" - служебный класс, не является поставщиком данных.
Или я не правильно понял вопрос?
  
Наверх
ICQ  
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #379 - 05. Июля 2011 :: 01:04
Печать  
nvg писал(а) 04. Июля 2011 :: 11:07:
Т.е. "ПоставщикДанных.ПрямойЗапрос" - служебный класс, не является поставщиком данных.
Или я не правильно понял вопрос?

Всё верно. Я ошибся... Но не могу найти примеры работы с ПоставщикомДанных - те что есть, в основном, под старые версии класса. Вообще задача у меня реализовать форму подбора с кое-какой доп информацией в таблицах. Могу и сам наваять, но не до конца понимаю логику работы с классом, а поэтому боюсь сделать неоптимально.
  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #380 - 05. Июля 2011 :: 06:52
Печать  
al_zzz писал(а) 05. Июля 2011 :: 01:04:
не могу найти примеры работы с ПоставщикомДанных - те что есть, в основном, под старые версии класса.

МД с примерами есть в архиве с классом, в этой и предыдущей ветке были примеры тоже.

al_zzz писал(а) 05. Июля 2011 :: 01:04:
Вообще задача у меня реализовать форму подбора с кое-какой доп информацией в таблицах. Могу и сам наваять, но не до конца понимаю логику работы с классом, а поэтому боюсь сделать неоптимально.

По примерам, в принципе, разобраться не сложно, да и в теме информации не мало. Очень хорошая документация к классу прилагается. Что конкретно не понятно в логике работы с классом?

А форма подбора - понятие достаточно общее  Подмигивание Подбор какого типа данных, какая информация нужна дополнительная нужна, в каком виде?
« Последняя редакция: 05. Июля 2011 :: 08:14 - nvg »  
Наверх
ICQ  
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #381 - 05. Июля 2011 :: 10:42
Печать  
nvg писал(а) 05. Июля 2011 :: 06:52:
Что конкретно не понятно в логике работы с классом?

А форма подбора - понятие достаточно общее  Подмигивание Подбор какого типа данных, какая информация нужна дополнительная нужна, в каком виде?

Нужен подбор номенклатуры в документ.
Конкретно непонятно, как к "ПоставшикДанных. Справочник" присоединить таблицу с остатками регистра и таблицу, где хранится цена товара. Думаю, что откажусь от реализации из-за медленной работы класса "ПоставщикДанных.Справочник" - даже при получении одних только остатков по фирме он значительно уступает штатному подбору.
  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #382 - 05. Июля 2011 :: 11:34
Печать  
al_zzz писал(а) 05. Июля 2011 :: 10:42:
Нужен подбор номенклатуры в документ.
Конкретно непонятно, как к "ПоставшикДанных. Справочник" присоединить таблицу с остатками регистра и таблицу, где хранится цена товара. Думаю, что откажусь от реализации из-за медленной работы класса "ПоставщикДанных.Справочник" - даже при получении одних только остатков по фирме он значительно уступает штатному подбору.  


Дополнительные таблицы присоединяю методом ДобавитьСоединениеДанных(), потом ДобавитьКолонкуДанных() - добавляю нужные колонки.

По поводу скорости тоже не в воссторге, но, может, я просто "не умею его готовить" Подмигивание
У меня пока слишком много данных на форме - текстовые поля и таблицы, обновляемые в ПриАктивизацииСтроки().
  
Наверх
ICQ  
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #383 - 05. Июля 2011 :: 11:58
Печать  
nvg писал(а) 05. Июля 2011 :: 11:34:
Дополнительные таблицы присоединяю методом ДобавитьСоединениеДанных(), потом ДобавитьКолонкуДанных() - добавляю нужные колонки.

По поводу скорости тоже не в воссторге, но, может, я просто "не умею его готовить" Подмигивание
У меня пока слишком много данных на форме - текстовые поля и таблицы, обновляемые в ПриАктивизацииСтроки().

Ещё непонятно, как параметры передавать в доп. таблицы(например склад или тип цен)? Или данные в "ПрямомЗапросе" уже должны получаться?
Вот я тоже не умею их готовить. Неплохо бы, если б профессиональный повар рассказал как. Улыбка
  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #384 - 05. Июля 2011 :: 12:12
Печать  
Интересное обсуждение. В общем я не знаю как надо постараться чтобы штатный подбор был быстрее Улыбка)), даже на DBF можно сделать чтобы было достаточно шустро.

Вроде в теме выкладывал пример как я вижу реализацию подбора номенклатуры. Можно попробовать обратиться к leshik-у, он я думаю найдет что рассказать.

На деле в принципе подход верный, справочник - основа, далее соединения и колонки добавляются. Но соединение с виртуальной таблицей.... кхм, при большом количестве данных это конечно не серьезно. Можно попробовать временную таблицу. Есть вариант поставить соединение с вирт. таблицей где есть условие по родителю номенклатуры и при изменении родителя передавать его значение.

Или можно показать как идет инициализация и оттуда покрутим повертим Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #385 - 05. Июля 2011 :: 12:57
Печать  
al_zzz писал(а) 05. Июля 2011 :: 11:58:
nvg писал(а) 05. Июля 2011 :: 11:34:
Дополнительные таблицы присоединяю методом ДобавитьСоединениеДанных(), потом ДобавитьКолонкуДанных() - добавляю нужные колонки.

По поводу скорости тоже не в воссторге, но, может, я просто "не умею его готовить" Подмигивание
У меня пока слишком много данных на форме - текстовые поля и таблицы, обновляемые в ПриАктивизацииСтроки().

Ещё непонятно, как параметры передавать в доп. таблицы(например склад или тип цен)? Или данные в "ПрямомЗапросе" уже должны получаться?
Вот я тоже не умею их готовить. Неплохо бы, если б профессиональный повар рассказал как. Улыбка



1. так же как и в обычный подбор или обработку.
2. на этапе формирования запроса добавляешь параметры в фильтры...

зы если непонятно стукни в аську
  
Наверх
wwwICQ  
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #386 - 05. Июля 2011 :: 13:35
Печать  
vandalsvq писал(а) 05. Июля 2011 :: 12:12:
В общем я не знаю как надо постараться чтобы штатный подбор был быстрее Улыбка)), даже на DBF можно сделать чтобы было достаточно шустро.


Ну у меня ДБФ и есть. Присоединяется временная таблица с остатками. Но не уверен, что с индексы используются там.
Ну и плюс подчиненные таблицы тоже на базе ПД реализованы на форме - при активизации строки обновляются. И текстовых реквизитов на форме куча - привыкли пользователи...

Используется объект "УправлениеФормой".

Постепенно оптимизирую, но врмени много на это нету...
  
Наверх
ICQ  
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #387 - 06. Июля 2011 :: 01:25
Печать  
nvg писал(а) 05. Июля 2011 :: 13:35:
...Присоединяется временная таблица с остатками. Но не уверен, что с индексы используются там.
Ну и плюс подчиненные таблицы тоже на базе ПД реализованы на форме - при активизации строки обновляются. И текстовых реквизитов на форме куча - привыкли пользователи...

Используется объект "УправлениеФормой".

Постепенно оптимизирую, но врмени много на это нету...

А можете выложить свою форму?
  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
al_zzz
Senior Member
****
Отсутствует


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #388 - 06. Июля 2011 :: 01:39
Печать  
vandalsvq писал(а) 05. Июля 2011 :: 12:12:
Интересное обсуждение. В общем я не знаю как надо постараться чтобы штатный подбор был быстрее Улыбка)), даже на DBF можно сделать чтобы было достаточно шустро.

Любопытно. Я думал, что ПД уступает штатному функционалу.
vandalsvq писал(а) 05. Июля 2011 :: 12:12:
Вроде в теме выкладывал пример как я вижу реализацию подбора номенклатуры.

В тестовой конфигурации бы его. Думаю, он много кому нужен.
vandalsvq писал(а) 05. Июля 2011 :: 12:12:
Есть вариант поставить соединение с вирт. таблицей где есть условие по родителю номенклатуры и при изменении родителя передавать его значение.

Или можно показать как идет инициализация и оттуда покрутим повертим Улыбка

Отбор может быть как с учетом иерархии, так и без него, то есть получение виртуальной таблицы по родителю может затянуться.
При попытке использования ПД.Справочник код у меня был такой:
Код
Выбрать все
Данные = ПоставщикДанных.Данные;
	Данные.КолонкаПиктограмм = "Наименование";
	Данные.ОтображатьИерархию = 1;

	ТекстСоединения = "left join
	|	$РегистрОстатки.ОстаткиТМЦ(,,(Номенклатура),(Количество),) as vt_rg_total
	|		on $ТекущийОбъект.ТекущийЭлемент = vt_rg_total.Номенклатура
	|";
	Данные.ДобавитьСоединениеДанных("ОстаткиПоФирме",ТекстСоединения);
	Данные.ДобавитьКолонкуДанных("КолОстаток","Остаток весь","ISNULL(vt_rg_total.КоличествоОстаток,0)","Число",19,2,1);
	Данные.НоваяКолонка("Код");
	Данные.НоваяКолонка("Наименование",,1);
	Данные.НоваяКолонка("Марка");
	Данные.НоваяКолонка("Артикул");
	Данные.НоваяКолонка("КолОстаток",1); 

Взят из тестовой конфигурации последнего релиза.
А под временной таблицей Вы имели ввиду заранее рассчитывать и хранить объединение спр.Номенклатура с необходимыми виртуальными таблицами?
Всего позиций в справочнике около 40 000.
  

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #389 - 06. Июля 2011 :: 04:18
Печать  
1. Интересно, а почему ПД должен уступать штатному функционалу?
2. 7.7 почти не занимаюсь, так что не уверен что в скором времени добавлю в штатную форму
3. Про временную и виртуальную...
Код
Выбрать все
Процедура ОбновитьОстатки()
ПрямойЗапрос = ПоставщикДанных.ПрямойЗапрос;
ПрямойЗапрос.ВыполнитьЗапрос("ВЫБРАТЬ Номенклатура, КоличествоОстаток ВНУТРЬ #ТаблицаОстатки ИЗ $РегистрОстатки.ОстаткиТМЦ(:КонДата, (Фирма = :ТвояФирма), (Номенклатура), (Количество), ) КАК ОстатокТМЦ");
ПрямойЗапрос.ВыполнитьЗапрос("create index idx_Номенклатура on #ТаблицаОстатки(Номенклатура)");
ВремяОстатков = ТекущееВремя();
КонецПроцедуры 


Ну и соединение данных делаешь с #ТаблицаОстатки.
А на форме пользователю показываешь время остатков на которые они были собраны. При желании пускай обновляет.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 24 25 [26] 27 28 ... 81
ОтправитьПечать