Переключение на Главную Страницу Страницы: 1 ... 55 56 [57] 58 59 ... 81 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения. Часть 2. (число прочтений - 379134 )
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #840 - 05. Июля 2012 :: 09:27
Печать  
Цитата:
Добавляю в очередной форме разделитель на панельку

Выяснилось, что такой эффект дает
Код
Выбрать все
Данные.Отображение = 4; 

Поставщика ДеревоЗначений (версия от 20.05.11). Причем, влияет на всех Поставщиков формы. К слову, не увидел отличия вариантов 3 и 4 от 1-го. Глюк с разделителем дает только вариант 4.
  
Наверх
GTalkICQ  
IP записан
 
Kurya
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 28
Зарегистрирован: 24. Мая 2006
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #841 - 09. Июля 2012 :: 12:22
Печать  
Народ, как уничтожать ПоставщикДанных?
Проблемма такая: сделал обработку которая вызывается автоматом при запуске 1С под определенным пользователем. В обработке несколько раз вызывается ПоставщикДанных (журналы и регистры).
Все работает, но при автоматическом вызове иногда не срабатывает последний вызов Поставщика, ессно обработка прерывается и 1С валится. Когда запускаю "вручную" - все нормально. Хочу попробовать перед каждым новым вызовом Поставщика уничтожать предыдущего. ПоставщикДанных = ""; как то не очень срабатывает.
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #842 - 09. Июля 2012 :: 12:53
Печать  
Kurya писал(а) 09. Июля 2012 :: 12:22:
при автоматическом вызове иногда не срабатывает последний вызов
  Очень довольный
Что есть "вызов Поставщика"? Код давай. Подозреваю, что валится как раз наоборот из-за несвоевременного уничтожения объекта Поставщика.
  
Наверх
GTalkICQ  
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #843 - 21. Августа 2012 :: 12:56
Печать  
Столкнулся с падением 1с при выборе элемента из формы списка справочника при использовании Поставщика. Причем падает только на терминальном сервере (2k8r2) - у меня локально (win7) все пучком. Версии класса и 1с++ одинаковые.
Куда копать подскажете? Печаль
ЗЫ: пока писал выяснилось, что падает не у всех. Возможно вообще только у меня. У меня же падает стабильно.
« Последняя редакция: 21. Августа 2012 :: 14:09 - Kalen »  
Наверх
GTalkICQ  
IP записан
 
alyuev
God Member
*****
Отсутствует


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

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #844 - 21. Августа 2012 :: 13:44
Печать  
Столкнулся с такой ситуацией.

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

Как этого избежать?
  

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


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #845 - 21. Августа 2012 :: 14:02
Печать  
alyuev писал(а) 21. Августа 2012 :: 13:44:
Как этого избежать?

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


2.Del обрабатывается только штатной МногострочнойЧастью + у меня родная ПриУдалении в глобальнике
Код
Выбрать все
Процедура СписокДокументовПриНажатииКлавиши(ТП, ВиртКод, Данные, Клавиатура, ФСО)
	Если ВиртКод=Клавиатура.VK_DELETE Тогда
		ФСО=0;
 

Для формы списка справочника читай то же самое.
« Последняя редакция: 21. Августа 2012 :: 17:09 - Kalen »  
Наверх
GTalkICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #846 - 21. Августа 2012 :: 14:04
Печать  
Воткнуть в ИспользоватьСписокЭлементов какую нить шнягу - чтоб был пустой список.. или отбор по несуществующему полю сделать (что не очень гут - группы видны будут)

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


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

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #847 - 21. Августа 2012 :: 14:51
Печать  
Ага - с ИспользоватьСписокЭлементов() - взлетело! Спасибо!
  

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


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #848 - 22. Августа 2012 :: 11:21
Печать  
Споткнулся об недопеределку:
Цитата:
ПоставщикДанных.Журнал::УдалитьКолонкуДанных(Строка ИмяКолонки=Получатель) : Слишком много параметров передано при вызове функции/процедуры объекта
Если СвойствоОтбор.НайтиОтбор(ИмяКолонки,0) = 1 Тогда

В нынешнем варианте НайтиОтбор() нет второго параметра.
  
Наверх
GTalkICQ  
IP записан
 
DmSk
Junior Member
**
Отсутствует



Сообщений: 56
Местоположение: Барнаул
Зарегистрирован: 28. Марта 2008
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #849 - 30. Августа 2012 :: 07:56
Печать  
Небольшой вопрос:
как из обработки процедуры ТППРиВыбореЗначения()
разворачивать дерево ?
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #850 - 30. Августа 2012 :: 09:53
Печать  
DmSk писал(а) 30. Августа 2012 :: 07:56:
Небольшой вопрос:
как из обработки процедуры ТППРиВыбореЗначения()
разворачивать дерево ?

Надо получить полный путь разворачиваемого узла и вызвать метод поставщика "Процедура Развернуть(ПолныйПуть, Вложенные = 0) Экспорт"
  
Наверх
ICQ  
IP записан
 
DmSk
Junior Member
**
Отсутствует



Сообщений: 56
Местоположение: Барнаул
Зарегистрирован: 28. Марта 2008
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #851 - 30. Августа 2012 :: 14:31
Печать  
ещё маленький вопросик, как определить узел свернут илли развернут, пробовал так УзелРазвернут = ДеревоЗначений.УзелРазвернут;   - ругается
  
Наверх
 
IP записан
 
Kalen
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #852 - 30. Августа 2012 :: 14:59
Печать  
DmSk писал(а) 30. Августа 2012 :: 14:31:
как определить узел свернут илли развернут, пробовал так УзелРазвернут = ДеревоЗначений.УзелРазвернут;   - ругается

ДеревоЗначений - это у тебя что?
Где-то так...
ПоставщикДанных.ТабличноеПоле.ТекущиеДанные.УзелРазвернут

ЗЫ Иногда помогает посмотреть объект в отладчике.
  
Наверх
GTalkICQ  
IP записан
 
DmSk
Junior Member
**
Отсутствует



Сообщений: 56
Местоположение: Барнаул
Зарегистрирован: 28. Марта 2008
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #853 - 31. Августа 2012 :: 06:52
Печать  
Все получилось, спасибо !
вот такой код, если кому нужно будет:

//****************************************************
Процедура ТППриВыбореЗначения(ТаблПоле,Стр)   
     
     ПолныйПуть            = ДеревоЗначений.ПолныйПуть;   
     УзелРазвернут      = ТабличноеПоле.ТекущиеДанные.УзелРазвернут;

     Если УзелРазвернут = 1 Тогда
           Данные.Свернуть(ПолныйПуть);
     Иначе      
           Данные.Развернуть(ПолныйПуть); 
     КонецЕсли;      
     Данные.Обновить();
КонецПроцедуры

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


1C++ rocks!

Сообщений: 185
Зарегистрирован: 29. Марта 2010
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #854 - 05. Сентября 2012 :: 06:22
Печать  
Kalen писал(а) 21. Августа 2012 :: 12:56:
Столкнулся с падением 1с при выборе элемента из формы списка справочника при использовании Поставщика...

Пришлось перенести список справочника в отдельную форму обработки. В модуль оригинальной формы списка в ПриОткрытии вставил вызов формы обработки с Поставщиком. Как бы заставить обработку возвращать выбранный элемент, если оригинальный список был открыт в режиме выбора через стандартную кнопку <...>? Через ОткрытьПодбор работает, но этож надо в каждой форме, где есть выбор элемента этого справочника... Печаль
Как внутри 1с работает механизм выбора?
  
Наверх
GTalkICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 55 56 [57] 58 59 ... 81
ОтправитьПечать