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


I Love YaBB 2!

Сообщений: 142
Зарегистрирован: 26. Декабря 2006
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #360 - 24. Мая 2011 :: 05:41
Печать  
У меня получилось исправить. Добавил свойство видимость у вложенной структуры. После заполнения видимых колонок из формы, прошелся по метаданным и добавил невидимые. При создании колонок ТП создавал только видимые. Все остальное работает.  Улыбка
Хороший у тебя код, легко читать и вносить изменения.
  
Наверх
 
IP записан
 
ildary
Full Member
***
Отсутствует



Сообщений: 163
Зарегистрирован: 24. Марта 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #361 - 25. Мая 2011 :: 23:13
Печать  
vandalsvq Спасибо большое, все получилось!

Заодно хотелось бы узнать, можно ли сделать следующее:
Табличное поле с поставщиком данных = ИндексированнаяТаблица,
в панели кнопок выводим кнопки фильтра, после чего при нажатии на эти кнопки делаем перехват вызова и применяем свою фильтрацию (либо ее отмену).
  
Наверх
 
IP записан
 
ildary
Full Member
***
Отсутствует



Сообщений: 163
Зарегистрирован: 24. Марта 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #362 - 25. Мая 2011 :: 23:38
Печать  
Сам спросил - сам сделал Улыбка
В файл ПоставщикДанных.ИндексированнаяТаблица.ert в процедуру
ПриВыбореКоманды() - она сейчас пустая вставить строки

     ИмяМетода = Сервис.ПолучитьИмяМетода(КонтейнерТабличногоПоля,"ПриВыполненииКоманды");
     Если Информатор.МетодСуществует(КонтекстФормы,ИмяМетода) = 1 Тогда
           СтруктураПараметров = СоздатьОбъект("СписокЗначений");
           
           СтруктураПараметров.Установить("ФСО",-1);
           СтруктураПараметров.Установить("НомерКоманды",НомерКоманды);
           араметров);
           
           Если СтруктураПараметров.Получить("ФСО") = 0 Тогда
                 Возврат;
           КонецЕсли;
     КонецЕсли;
     
     ТабличноеПоле.Активизировать();

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

например вот так

Процедура тпДокПриВыполненииКоманды( ТабПоле, ФСО, НомерКоманды )
     
     Если НомерКоманды = 208 Тогда
           
           Предупреждение( "Опа!", 120 );
        
     КонецЕсли;
     
КонецПроцедуры
  
Наверх
 
IP записан
 
ildary
Full Member
***
Отсутствует



Сообщений: 163
Зарегистрирован: 24. Марта 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #363 - 06. Июня 2011 :: 12:34
Печать  
Уважаемые специалисты, скажите пожалуйста, в чем может быть ошибка:
при создании табличного поля если выполнить заремленную строку, то происходить утечка gdi:

Картинка = СоздатьОбъект( "Картинка" );
Картинка.Загрузить( ПутьККаталогуКартинок + "icons-journ.bmp" );
//ТабПоле.УстановитьСистемныеКартинки( Картинка, 16 );

не помогли ни помещение на форму обычной ТЗ, ни добавление в ПриЗакрытии() обнуления переменной ТабПоле - в ПриЗакрытии() просто падает, в ПослеЗакрытия() не устраняет утечку. Пробовал переменную Картинка описать в переменных для всего модуля - не помогло.

p.s. могу выложить глючащую обработку - журнал документов для ТиС.
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #364 - 06. Июня 2011 :: 18:48
Печать  
ildary писал(а) 06. Июня 2011 :: 12:34:
...p.s. могу выложить глючащую обработку - журнал документов для ТиС.

Выложи.
  
Наверх
 
IP записан
 
ildary
Full Member
***
Отсутствует



Сообщений: 163
Зарегистрирован: 24. Марта 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #365 - 07. Июня 2011 :: 07:04
Печать  
Интересная ситуация: создал тестовый пример, который отличается от рабочего только добавлением процедур из ГМ, включаю локальный инит библиотек (1С++, sqlite, formex), после чего обнаружил, что выполнение тестового примера на чистой базе ТиС не приводит к утечке. Что тут можно сделать, куда копать?

p.s. тестовый пример на всякий случай прилагаю. 1С++ версия 3.2.3.13, 1sqlite.dll - 1.0.2.3, FormEx.dll - 2.0.5.101, классы таб поля - самые свежие.
  

__________________002.ert ( 44 KB | Загрузки )
Наверх
 
IP записан
 
IoWa
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Зарегистрирован: 15. Декабря 2010
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #366 - 09. Июня 2011 :: 09:36
Печать  
А можете подсказать как управлять списком всплывающих команд Открыть,Просмотр,Отключить Отбор и т.д.),после нажатия правой кнопки мыши по табличному полю поставщика?
  
Наверх
 
IP записан
 
ildary
Full Member
***
Отсутствует



Сообщений: 163
Зарегистрирован: 24. Марта 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #367 - 17. Июня 2011 :: 06:40
Печать  
Вопрос опытным форумчанам - возьмется ли кто-нибудь посмотреть за оплату, почему происходит утечка объектов gdi с последующим вылетом обработки ? Самому справиться ума не хватает, а использовать табличное поле очень хочется. Вышлю базу с обработкой и длл-ками, оплачу, сколько скажете.
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #368 - 17. Июня 2011 :: 11:49
Печать  
если ты всетаки по предыдущему вопросу ,то все твои проблы из-за пересоздания объекта ПоставщикДанных
  
Наверх
wwwICQ  
IP записан
 
ildary
Full Member
***
Отсутствует



Сообщений: 163
Зарегистрирован: 24. Марта 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #369 - 17. Июня 2011 :: 11:54
Печать  
Спасибо за ответ, а как этого можно избежать?

p.s. Сделал вот так, но утечка продолжается:


     Если ПустоеЗначение( БылоСоздание ) = 1 Тогда
           
           БылоСоздание = 1;
           ПостДанных = СоздатьОбъект( "ПоставщикДанных" );
           
           ПостДанных.КонтейнерТабличногоПоля  = ИмяТабПоля;
           ПостДанных.КонтейнерКоманднойПанели = ИмяКоманднПанели;
           ПостДанных.ТипЗначений                        = ТипЗначений;
           
     КонецЕсли;
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #370 - 17. Июня 2011 :: 12:15
Печать  
icq
  
Наверх
wwwICQ  
IP записан
 
ildary
Full Member
***
Отсутствует



Сообщений: 163
Зарегистрирован: 24. Марта 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #371 - 23. Июня 2011 :: 07:52
Печать  
Уважаемые специалисты, есть ли способ сделать следующее: табличное поле на основе ИТЗ, числовая колонка "сумма документа"  с форматом ячейки "Ч015.2", 
хочется, чтобы для нулевых значений выводилось не "0,00", а "" - для наглядности. Можно конечно завести 2 колонки - реальные значения и отображаемые, но хотелось бы без подобного, т.к. колонок с суммами может быть много.
  
Наверх
 
IP записан
 
Kolhoznik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 32
Зарегистрирован: 11. Февраля 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #372 - 23. Июня 2011 :: 10:00
Печать  
Формат "Ч-.2" не подойдет?
  
Наверх
 
IP записан
 
ildary
Full Member
***
Отсутствует



Сообщений: 163
Зарегистрирован: 24. Марта 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #373 - 23. Июня 2011 :: 10:59
Печать  
Kolhoznik писал(а) 23. Июня 2011 :: 10:00:
Формат "Ч-.2" не подойдет?


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


1C++ ->

Сообщений: 361
Местоположение: Барнаул
Зарегистрирован: 05. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #374 - 30. Июня 2011 :: 07:53
Печать  
Уважаемые специалисты!
Возникла следующая проблема. Использую "ПоставщикДанных.Справочник" для подчиненного справочника в форме списка справочника. При изменении текущего элемента выполняю:
              
Код
Выбрать все
ПД.Данные.Владелец = ТекущийЭлемент();
		ПД.ТабличноеПоле.Обновить(); 


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

Каждая система проходит три стадии:&&1) Шумиха&&2) Неразбериха&&3) Поиск виновных (собственно, рабочий процесс)&&4) Наказание невиновных&&5) Награждение непричастных&& В.М. Глушков
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 23 24 [25] 26 27 ... 81
ОтправитьПечать