Переключение на Главную Страницу Страницы: 1 ... 7 8 [9] 10 11 ... 81 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения. Часть 2. (число прочтений - 376747 )
ildary
Full Member
***
Отсутствует



Сообщений: 163
Зарегистрирован: 24. Марта 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #120 - 10. Декабря 2010 :: 12:43
Печать  
Большое спасибо, я все понял, последний вопрос: После того, как таблица загружена, как ее можно обновлять? Дело в том, что если применять повторно метод ЗаполнитьИзОбъекта метод ПриВыводеСтроки начинает ругаться на пустое значение ДанныеСтроки.
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #121 - 10. Декабря 2010 :: 13:05
Печать  
Если ПустоеЗначение(ДанныеСтроки) = 0 тогда
//твои какие то действия
иначе
//не ругаться
конецесли;

или

http://www.1cpp.ru/docum/icpp/html/IndexedTable.html#load
  
Наверх
wwwICQ  
IP записан
 
ildary
Full Member
***
Отсутствует



Сообщений: 163
Зарегистрирован: 24. Марта 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #122 - 10. Декабря 2010 :: 13:11
Печать  
Спасибо огромное! Все получилось!!!
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #123 - 10. Декабря 2010 :: 16:22
Печать  
Anatol, объясни мне зачем при наличии колонки "Фирма" в метаданных справочника ты дополнительно добавляешь отбор. Ведь по всем колонкам которые есть в метаданных отборы добавляются автоматически самим поставщиком. Если ты не хочешь чтобы пользователь его видел, дык для этого у "ЭлементОтбора" есть собственные флаги.

В общем, to all, поскольку вопросов по отборам иногда возникает много то объясню сразу...
В версии 4.1.1 (собственно как и раньше) при установке ТипЗначений происходит считывание метаданных и добавление всех необходимых отборов. Т.е. если вы указали
ТипЗначений = "Справочник.Контрагенты" то все поля которые есть в контрагентах будут доступны в отборе без дополнительных "телодвижений". Достаточно написать
Код
Выбрать все
ОтборПоРеквизиту = ПоставщикДанных.Данные.Отбор.<ИмяРеквизита> 



А метод "Добавить" в объекте "Отбор" нужны для дополнительных отборов, и я их использую например если не надо отбор по метаданным реквизита справочника.
Т.е. например: у контрагенты есть реквизит "ОсновнойДоговор"  - это Справочник.Договоры. У справочника "Договоры" есть реквизит "ДатаОкончания", так вот если я хочу добавить отбор по этому реквизиту только тогда я и использую "Добавить". Хотя тут есть и второй путь, это методы "ДобавитьСоединениеДанных" и "ДобавитьКолонкуДанных". Но это совсем другая история.

Пы.сы. счас мне кажется что некоторые вещи я зря вынес наружу Улыбка.
  

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


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #124 - 10. Декабря 2010 :: 21:42
Печать  
vandalsvq писал(а) 10. Декабря 2010 :: 16:22:
Anatol, объясни мне зачем при наличии колонки "Фирма" в метаданных справочника ты дополнительно добавляешь отбор. Ведь по всем колонкам которые есть в метаданных отборы добавляются автоматически самим поставщиком. Если ты не хочешь чтобы пользователь его видел, дык для этого у "ЭлементОтбора" есть собственные флаги.



Это дополнительный отбор по фирме который не должен меняться пользователем. в конфе выбиваю заявки люди из разных областей (подразделений). в областях разные фирмы...

зы Вопрос был про добавление отбора...
ззы вот еще примение долнительным отборам
  
Наверх
wwwICQ  
IP записан
 
ildary
Full Member
***
Отсутствует



Сообщений: 163
Зарегистрирован: 24. Марта 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #125 - 11. Декабря 2010 :: 05:46
Печать  
Уважаемые специалисты, если я еще не надоел своими вопросами, скажите пожалуйста, как в табличном поле скрывать колонки? Атрибут видимость у колонки нашел, но его программная установка в ноль не помогла (после этого делал ПоставщикДанных.Обновить() - тоже без толку ). Пока скрыл колонку через кнопку настроек, но ведь пользователь таким же образом может и вернуть, а там - служебная инфа, для него не предназначенная.
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #126 - 13. Декабря 2010 :: 09:25
Печать  
Код
Выбрать все
Д.НоваяКолонка("ИмяФайла");
...
Колонка = ТП.Колонки.Получить("ИмяФайла");
Колонка.Видимость = 0; 


  
Наверх
wwwICQ  
IP записан
 
ildary
Full Member
***
Отсутствует



Сообщений: 163
Зарегистрирован: 24. Марта 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #127 - 13. Декабря 2010 :: 12:58
Печать  
Забыл добавить - колонка создавалась не через НоваяКолонка(), а через ЗаполнитьИзОбъекта(). При этом ПоставщикДанных.ТипЗначений = "ИндексированнаяТаблица"; Попробовал как Вы пишете - не сработало.
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #128 - 13. Декабря 2010 :: 14:15
Печать  
да, блин...
каждый раз как ты "загружаешь из объекта" все твои данные очищаются вместе с колонками и настройками колонок.

как загрузил в ИТЗ так убирай колоку...

если структура таблицы неизменчива, то загружай в ИТЗ, не методами поставщика, а методами самой ИТЗ, а тотом просто обновляй строки ТП

  
Наверх
wwwICQ  
IP записан
 
ildary
Full Member
***
Отсутствует



Сообщений: 163
Зарегистрирован: 24. Марта 2008
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #129 - 13. Декабря 2010 :: 14:46
Печать  
Я именно так и поступаю:


Данные = ПостДанных.Данные;
Данные.ЗаполнитьИзОбъекта( ТЗДок );
     
Колонка = Данные.Колонки.РеалДок;
Колонка.Видимость              = 0;
...
ПостДанных.Обновить();

Тем не менее, колонка РеалДок видна. Правда ниже делается ТабПоле.ВосстановитьПозициюКолонок(); - может в этом причина?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

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

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


1C++ rocks!

Сообщений: 76
Зарегистрирован: 30. Марта 2010
Пол: Женский
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #131 - 14. Декабря 2010 :: 04:22
Печать  
Увы, новая проблема, с которой никак не могу побороться.

На форме списка хочу вывести таблицы для двух справочников - основного и подчиненного.
Вывела, связала по Владельцу.
Написала процедуру <ИмяКнопки>ПриАктивацииСтроки(ТабличноеПоле), в которой Владелец меняется при переходе со строки на строку.

Оно даже работает.

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

Если текст процедуры закомментирован - все работает, но, естественно, данные второй таблицы не обновляются при переходе со строки на строку первой таблицы

Где посоветуете копать? Печаль

Текст процедуры:
Код
Выбрать все
Процедура кнСписокТестПриАктивизацииСтроки(пТабличноеПоле)
	ТекущийФЛ = пТабличноеПоле.ТекущаяСтрока;
	пДанныеПодч.Владелец = ТекущийФЛ;
	пПоставщикДанныхПодч.Обновить();
КонецПроцедуры 



Текст всего модуля во вложении...
  

___________.txt ( 3 KB | Загрузки )
Наверх
 
IP записан
 
Kateryne
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 76
Зарегистрирован: 30. Марта 2010
Пол: Женский
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #132 - 14. Декабря 2010 :: 06:22
Печать  
Вот, выкладываю на всякий случай еще и md...
  

1Cv7_011.MD ( 96 KB | Загрузки )
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #133 - 14. Декабря 2010 :: 06:32
Печать  
да ничего, при "обновить" на подчиненном справочнике слетает фокус с владельца. после обновления можно принудительно делать владельца активным, но зрелище не из приятных
  
Наверх
wwwICQ  
IP записан
 
Kateryne
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 76
Зарегистрирован: 30. Марта 2010
Пол: Женский
Re: Класс "ПоставщикДанных" -обсуждения. Часть 2.
Ответ #134 - 14. Декабря 2010 :: 06:37
Печать  
Хм... активным? Можете подсказать как? Метод "Активизировать" вроде бы только у КоманднойПанели есть...
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 7 8 [9] 10 11 ... 81
ОтправитьПечать