Переключение на Главную Страницу Страницы: 1 ... 38 39 [40] 41 42 ... 81 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения. Часть 2. (число прочтений - 385933 )
mozer
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 324
Местоположение: Пермь
Зарегистрирован: 14. Января 2011
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #585 - 18. Января 2012 :: 08:37
Печать  
Хорошо, только на чем в бухии сделать?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #586 - 18. Января 2012 :: 10:37
Печать  
Ну посмотри может похожая организация данных есть или подчиненность, сделай на форме обработки эти два справочника и их обработку при активизации.... я так понимаю проблема потери фокуса, и скорее всего с данными это вообще связано Улыбка
  

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


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #587 - 18. Января 2012 :: 11:49
Печать  
vandalsvq писал(а) 18. Января 2012 :: 10:37:
Ну посмотри может похожая организация данных есть или подчиненность, сделай на форме обработки эти два справочника и их обработку при активизации.... я так понимаю проблема потери фокуса, и скорее всего с данными это вообще связано Улыбка

Известная же глюкофича: какой поставщик обновился последний, тот и получил фокус
  
Наверх
wwwICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #588 - 18. Января 2012 :: 12:02
Печать  
ааа... наверное в классе после Обновить вызывается "активировать" Улыбка)))))
А почему бы активизацию самому не вызвать.
  

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


1C++ rocks!

Сообщений: 324
Местоположение: Пермь
Зарегистрирован: 14. Января 2011
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #589 - 19. Января 2012 :: 02:46
Печать  
vandalsvq писал(а) 18. Января 2012 :: 12:02:
ааа... наверное в классе после Обновить вызывается "активировать" Улыбка)))))
А почему бы активизацию самому не вызвать.

Работает. Спасибо сам не догадался. не отошел от праздников еще ))
Еще как изменить разрядность кода 4 знака маловато  Улыбка
  
Наверх
 
IP записан
 
mozer
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 324
Местоположение: Пермь
Зарегистрирован: 14. Января 2011
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #590 - 20. Января 2012 :: 03:46
Печать  
Подскажете пожалуйста в какую сторону двигаться.
Перевожу все списки справочников документов и журналов в своей подсистеме на ТП. Получается даже, но возникла проблема ... несколькими постами выше я писал, что стандартную форму справочника невозможно вставить ТП начинаются обвалы. Тогда написал обработку которая запускается при открытии формы списка справочника, все работает отлично. Собственно вопрос, кто как пишет формы списков справочника с ТП и поставщиком данных? Для каждой формы своя обработка или используются другие методы? Вообще возможно реализовать схему типа обработка выводит только ИНТЕРФЕЙС, а ОБРАБОТКА СОБЫТИЙ от ТП реализуется в стандартном справочнике?  Улыбка Или я много хочу ? Если возможно пните в нужном направлении.
  
Наверх
 
IP записан
 
mirvel
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 55
Зарегистрирован: 28. Августа 2010
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #591 - 20. Января 2012 :: 09:14
Печать  
вообщем серьезная проблема:
Не знаю почему...вообщем год стабильно работала (с поставщиком данных) и вдруг база полетела...
и при запуске выдала:
"Не определены параметры базы данных! Для определения следует воспользоваться Конфигуратором."
ну естественно зашел в конфигу, восставил словарь данных...
1 ска запустилась...
Но не работает класс поставщик данных, выдает ошибку:
ВидыСравнения = СоздатьОбъект("ПоставщикДанных.ВидыСравнения"); // для удобства работы с отборами
{Отчет.СправочникНоменклатура.Форма.Модуль(979)}: Неудачная попытка создания объекта (ПоставщикДанных.ВидыСравнения)
--------------------------------------------------------
Класс поставщик данных  используется в двух местах...
для номенклатуры...и для еще одного журнала. "подборпопрайсу"
----------------------------------------------------------------------------

Такая проблема уже возникала ранее я ее решил удалив строчку с ID=0  у базы "Контрагентов" (не знаю почему), через DBFViewer. Проблему с этой строчкой я обнаружил запустив Тестирование и Исправление базы...
После удаление этой строчки "ПОставщик данных" завелся..
т.е заработала Номенклатура и Журнал "ПодборПОпрайсу"

----------------------------------------------------------------------
щас проблема опять возникла...(не знаю почему)
опять 1ска дала ошибку:
Не определены параметры базы данных... и так далее
я 1ску восстановил....
но класс опять не работает
Перепробывал удалять индексы и выгрузка-загрузка, и ТИ
все напросно Поставщик данных не ожил...
выдает:
ВидыСравнения = СоздатьОбъект("ПоставщикДанных.ВидыСравнения"); // для удобства работы с отборами
{Отчет.СправочникНоменклатура.Форма.Модуль(979)}: Неудачная попытка создания объекта (ПоставщикДанных.ВидыСравнения)...
---------------------------------------------
--------------------------------------------
я плохо знаю как работает класс поставщик данных, но учитывая что он напрямую обращается к таблицам dbf, предполагаю, что зависемые таблицы имееют ошибки...
------------------------------------------------
опишу заранее что у меня номенклатура постоянно растет.. сейчас она имеет 23000 записей...она также имеет подчиненный справочник, который тоже имеет 30000 записей....этого не много....
НО ПРОБЛЕМА МОЖЕТ БЫТЬ В ТОМ, ЧТО НОМЕНКЛАТУРА ПОСТОЯННО И ЕЕ ПОДЧИНЕННЫЙ СПРАВОЧНИК ПОСТОЯННО УДАЛЯЮТСЯ "ЖЕСТКИМ СПОСОБОМ"....т.е. кодом, и на них остаются ссылки из доков...
может быть дело в этом???
« Последняя редакция: 20. Января 2012 :: 12:12 - mirvel »  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #592 - 20. Января 2012 :: 17:41
Печать  
Интересная штукенция у тебя... кхм... по идее влиять не должно.
Вообще при создании "ВидыСравнения" никаких проблем не должно быть. Этот класс вообще ни к кому ни куда не обращается и ничего не читает.
А другие классы запускаются? Что угодно
  

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


1C++ rocks!

Сообщений: 47
Зарегистрирован: 01. Апреля 2010
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #593 - 21. Января 2012 :: 10:20
Печать  
Прошу внести изменение в ПоставщикДанных.ИндексированнаяТаблица.ert,
если это возможно и не противоречит его идеи.

При текущем тексте процедуры не происходит формирование колонок
на основании таблицы значений с нулевым количеством строк.

Процедура ЗаполнитьИзОбъекта(Объект = "",Параметр = "") Экспорт

Заменить текст процедуры:

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

     ТипСтрВрег = Врег(ТипЗначенияСтр(Объект));

     Если ПустоеЗначение(ТипСтрВрег) = 1 Тогда
           Возврат;
     КонецЕсли;

     Если ТипСтрВрег = Врег("ПрямойЗапрос") Тогда
           Если ПустоеЗначение(Объект) = 0 Тогда
                 ЗаполнитьИзОбъектаПрямойЗапрос(Объект);
           КонецЕсли;
     ИначеЕсли ТипСтрВрег = Врег("Запрос") Тогда
           Если ПустоеЗначение(Объект) = 0 Тогда
                 ЗаполнитьИзОбъектаЗапрос(Объект);
           КонецЕсли;
     ИначеЕсли ТипСтрВрег = Врег("ТаблицаЗначений") Тогда
           Если Объект.КоличествоКолонок()>0 Тогда
                 ЗаполнитьИзОбъектаТаблицаЗначений(Объект);
           КонецЕсли;
     КонецЕсли;
     
КонецПроцедуры      // ЗаполнитьИзОбъекта
  
Наверх
 
IP записан
 
mvgfirst
Full Member
***
Отсутствует


В борьбе бобра с ослом
всегда побеждает бобро!

Сообщений: 152
Местоположение: Украина г. Кривой Рог
Зарегистрирован: 17. Августа 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #594 - 28. Января 2012 :: 19:02
Печать  
Существует ли возможность реализовать с помощью данного класса механиз аналогичный настройкам построителя отчетов в 8-ке.
С того момента как я перешел на обслуживание конфигураций 8-ки, без такого функционала уже жутко неудобно....
А ведь остались у меня на поддержке еще несколько конфигураций для которых требуется дописывать отчеты... и я уже устал писать настроки под каждый отчет...

Интересует именно возможность управлять группировками отчета, а так же установкой отбора значений.

Если кто реализовал подобное - буду признателен даже за возможность взглянуть издалека.

Оно то конечно со временем всех переведу на 8-ку... но когда это будет... а пока надо поддерживать и это...
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #595 - 28. Января 2012 :: 20:01
Печать  
mvgfirst, а чего "построитель" то? это же прошлый век, если замахиваться, так сразу на СКД Улыбка. Вообще то частично та или иная часть решения уже есть в виде отдельных разработок на данном ресурсе... но их бы объединить.

Я бы сделал так: написал бы классы для быстрой реализации настроек, чтобы вроде того было...

Код
Выбрать все
НастройкиОтчета = СоздатьОбъект("НастройкиОтчета");

// ПоляГруппировки = это отдельный класс для управления группировками
ПоляГруппировки = НастройкиОтчета.ПоляГруппировки;
ПоляГруппировки.Добавить("Родитель", "Элементы", 0, 1); // Имена, тип, использование, автодобавление
ПоляГруппировки.ТабличноеПоле = "ТабличноеПолеГруппировки";
ПоляГруппировки.КоманднаяПанель = "КоманднаяПанельГруппировки";

// Отборы = отдельный класс
Отборы = НастройкиОтчета.Отборы;
Отборы.Добавить("Поле1", "Справочник.Контрагенты", "Наименование", "Равно", "", 0); // Имя, Родитель, Поле, ВидСравнения, Значение, Использование
Отборы.Добавить("Поле2", "Справочник.Контрагенты", "ЭтоГруппа", "Равно", 0, 0);
Отборы.ТабличноеПоле = "ТабличноеПолеОтборы";
Отборы.КоманднаяПанель = "КоманднаяПанельОтборы"; // правда зачем она нужна? :)

НастройкаОтчета.ТекстЗапроса =
"ВЫБРАТЬ
|$Спр.ТекущийЭлемент КАК [Контрагент $Справочник.Контрагенты]
|,$Спр.Родитель КАК [Родитель $Справочник.Контрагенты]
|ИЗ
|Справочник.Контрагенты КАК Спр $nolock
|{ГДЕ (Поле1=$Спр.Наименование, Поле2=$Спр.ЭтоГруппа)}"; 



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

Но вы же понимаете, что это я так... предложение просто высказал. Как там принято говорить? Это не является публичной офертой.  Подмигивание
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #596 - 29. Января 2012 :: 02:11
Печать  
Версия 4.3.1 обновлена. Изменений не много, отображение у Дерева и новый метод у ОписаниеТипов.

В архив добавил небольшую обработку которая отображает дерево метаданных. Она конечно не совсем все показывает и не все до конца умеет разворачивать, но что умеет то умеет. В основном это набросок.
Так сказать размял мозг и руки. Было желание сделать возможность добавлять отборы с максимальной вложенностью. Но видимо не буду этого делать ибо не совсем понятно как потом разобрать строку
Код
Выбрать все
Справочник.Контрагенты.Родитель.Родитель.Родитель.Родитель 



Я понимаю что можно сделать все, но считаю что лучше не стоит делать лишнего  Подмигивание.

Добавление в отборах таки появится. Но когда не знаю.
  

1Cv7_ext_TF_010.rar ( 990 KB | Загрузки )

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


1C++ rocks!

Сообщений: 324
Местоположение: Пермь
Зарегистрирован: 14. Января 2011
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #597 - 30. Января 2012 :: 19:25
Печать  
Или я что то не понимаю или конфа вываливает ошибки.
Вообще посмотреть не могу.

Хотел посмотреть реализацию формы выбора на ТП + Поставщик.
Реально?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #598 - 30. Января 2012 :: 23:49
Печать  
Не понял, у тебя на обновленной версии не работает? Или и до этого не работало... Улыбка и конкретно что не работает? Улыбка Ну какой код там. Или из примеров может что-то?
  

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


1C++ rocks!

Сообщений: 324
Местоположение: Пермь
Зарегистрирован: 14. Января 2011
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #599 - 31. Января 2012 :: 05:55
Печать  
Я пытаюсь посмотреть тестовую базу, что в архиве.
Посмотреть как там и что, но не могу запустить.
Создал каталог - создал базу через конфигуратор - закинул в каталог базы классы - прописал файл описаний - захожу в базу - обработки - дерево значений.
и валятся ошибки. Сначала ругался на класс привязки, заменил файлом от 15 07 не помню какого года. дальше ругается на класс управление формой. Потом я не выдерживаю и бросаю это дело. Работы много.
« Последняя редакция: 31. Января 2012 :: 08:26 - mozer »  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 38 39 [40] 41 42 ... 81
ОтправитьПечать