Переключение на Главную Страницу Страницы: 1 ... 72 73 [74] 75 76 ... 81 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПоставщикДанных" - обсуждения. Часть 2. (число прочтений - 381120 )
Fisco
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 6
Зарегистрирован: 26. Июня 2014
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1095 - 26. Июня 2014 :: 20:09
Печать  
Пробую работать с классами. Есть задача - отфильтровать строки табличного поля по выбранному значению из списка. Вроде что-то получилось, но не уверен что правильно. Приложил пример обработки с ИТЗ, а вообще надо это с документом реализовать.
Сомнения возникают из-за того, что при выводе списка на печать (по кнопке командной панели),  выводиться на печать ВСЕ строки таблицы, а надо только отображаемые. Слева (на форме) исходный состав ИТЗ).
Может кто из умных глянет? Подмигивание
  

_________005.ert ( 16 KB | Загрузки )
Наверх
 
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1096 - 26. Июня 2014 :: 23:56
Печать  
Fisco писал(а) 26. Июня 2014 :: 20:09:
Пробую работать с классами. Есть задача - отфильтровать строки табличного поля по выбранному значению из списка.


Вот здесь посмотри, про ИТЗ с отбором.
http://www.1cpp.ru/forum/YaBB.pl?num=1333941317
  
Наверх
ICQ  
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1097 - 27. Июня 2014 :: 00:09
Печать  
Fisco писал(а) 26. Июня 2014 :: 20:09:
а вообще надо это с документом реализовать.


Там тем более все штатно через Объекты_v8\Отбор.ert

А в твоем примере - хню написал: берешь в ИТЗ - объект из поставщика, и потом его же и подменяешь вновь выгруженной отфильтрованной ТЗ... Тогда надо при смене строк списка полностью переинициализировать Поставщика. Тогда и печататься будет с фильтром.
  
Наверх
ICQ  
IP записан
 
Fisco
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 6
Зарегистрирован: 26. Июня 2014
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1098 - 27. Июня 2014 :: 05:01
Печать  
Да нутром чую что хню....
Dolly_EV, мил человек, а не затруднит ли черкнуть в моем творении пару правильных строк с отбором? У самого видимо руки уже не те...  Печаль
  
Наверх
 
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1099 - 27. Июня 2014 :: 05:51
Печать  
Fisco писал(а) 27. Июня 2014 :: 05:01:
Да нутром чую что хню....
Dolly_EV, мил человек, а не затруднит ли черкнуть в моем творении пару правильных строк с отбором? У самого видимо руки уже не те...  Печаль

В прилагаемом файле:
\CLASSES\ПоставщикДанных\ПОСТАВЩИКДАННЫХ.ИНДЕКСИРОВАННАЯТАБЛИЦА.ERT - поправленный класс из набора "Поставщика" с расшаренным параметром.
\CLASSES\ЭлементыФормы\ЭлементыФормы.Закладки.ert - правильный класс для закладок
\ExtForms\служб_ПросмотрСЗ_ТЗ_ИТЗ.ert - ИТЗ с отбором

в твоем творении пару строк черкать смысла не вижу, т.к. подход изначально неправильный, но черкнул)) там же в архиве.
  

______________003.rar ( 64 KB | Загрузки )
Наверх
ICQ  
IP записан
 
Fisco
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 6
Зарегистрирован: 26. Июня 2014
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1100 - 27. Июня 2014 :: 09:58
Печать  
Спасибо, буду изучать! А что, подход концептуально неверен к смыслу задачи? ((
А вот а архиве еще обработка "служб_ПросмотрСЗ_ТЗ_ИТЗ.ert", загрузил в нее индексированную таблицу значений, но не могу установить отбор, недоступны поля "Представление" и "значение". В чем тонкость?
  
Наверх
 
IP записан
 
Amel
Junior Member
**
Отсутствует


1С++ rulezzz!

Сообщений: 85
Местоположение: Украина, Винница
Зарегистрирован: 20. Ноября 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1101 - 14. Июля 2014 :: 10:16
Печать  
ув. коллеги!
не могу никак осилить кастомное контекстное меню в ПоставщикеДанных.Документы.
Где и как инициализировать его правильно?
Как определить процедуру обработки?
У меня почему-то отрабатывает ПриКонтекстномМеню только ПОСЛЕ выбора пункта конт. меню - это правильно?
Мне нужно, чтобы конт. меню формировалось на основании данных выбранной строки. Это вообще возможно?
  

Восторгаюсь 1С++ и классами к ней!
Наверх
ICQ  
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1102 - 14. Июля 2014 :: 18:18
Печать  
Dolly_EV писал(а) 27. Июня 2014 :: 05:51:
Fisco писал(а) 27. Июня 2014 :: 05:01:
Да нутром чую что хню....
Dolly_EV, мил человек, а не затруднит ли черкнуть в моем творении пару правильных строк с отбором? У самого видимо руки уже не те...  Печаль

В прилагаемом файле:
\CLASSES\ПоставщикДанных\ПОСТАВЩИКДАННЫХ.ИНДЕКСИРОВАННАЯТАБЛИЦА.ERT - поправленный класс из набора "Поставщика" с расшаренным параметром.
\CLASSES\ЭлементыФормы\ЭлементыФормы.Закладки.ert - правильный класс для закладок
\ExtForms\служб_ПросмотрСЗ_ТЗ_ИТЗ.ert - ИТЗ с отбором

в твоем творении пару строк черкать смысла не вижу, т.к. подход изначально неправильный, но черкнул)) там же в архиве.



а в обработке \ExtForms\служб_ПросмотрСЗ_ТЗ_ИТЗ.ert класс УправлениеФормой это какой то старый класс? смотрю что а поставщике нет его?
  
Наверх
 
IP записан
 
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1103 - 15. Июля 2014 :: 00:11
Печать  
barbitura писал(а) 14. Июля 2014 :: 18:18:
а в обработке \ExtForms\служб_ПросмотрСЗ_ТЗ_ИТЗ.ert класс УправлениеФормой это какой то старый класс? смотрю что а поставщике нет его?

УправлениеФормой - он к Поставщику не относится, есть отдельная ветка про него:
http://www.1cpp.ru/forum/YaBB.pl?num=1278756052
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1104 - 17. Июля 2014 :: 20:31
Печать  
Amel писал(а) 14. Июля 2014 :: 10:16:
ув. коллеги!
не могу никак осилить кастомное контекстное меню. Это вообще возможно?

См.

ПриФормированииКонтекстногоМеню
Синтаксис: ПриФормированииКонтекстногоМеню(КонтекстноеМеню, ФСО)
Параметры:
•      КонтекстноеМеню – Список значений для формирования контекстного меню
•      ФСО – флаг стандартной обработки
Описание: Методы вызывается только если АвтоКонтекстноеМеню = 0. В данном событии контекстное меню можно наполнить собственными данными. При этом можно использовать следующие номера команд (значения списка):
•      1 – Добавить строку
•      2 – Изменить строку
•      3 – Скопировать строку
•      4 – Удалить строку
•      5 – Переместить строку вверх
•      6 – Переместить строку вниз
•      7 – Сортировать по возрастанию
•      8 – Сортировать по убыванию
•      9 – Вывести список
•      10 – Настройка списка
•      11 – Обновить
•      + Номера команд конкретного расширения
  

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


bookkeeping considered
harmful

Сообщений: 30
Местоположение: Dombabwe
Зарегистрирован: 05. Ноября 2013
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1105 - 22. Июля 2014 :: 08:18
Печать  
Вопрос по ЭлементыФормы.Привязка
Если форма открывается в развернутом виде, то ПоставщикДанных на форме не изменяет размер. После минимизации/максимизации все приходит в норму. Выглядит как-то так
http://i.imgur.com/vCaowNg.png
Во вложении немного подправленная обработка, взятая где-то в окрестностях
1cpp 3.2.4.1
formex 2.0.5.108
Поставщикданных/Привязка последние из этой темы
  

__________________001.zip ( 25 KB | Загрузки )
Наверх
 
IP записан
 
Alexx_S
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Местоположение: UA
Зарегистрирован: 23. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1106 - 22. Июля 2014 :: 09:12
Печать  
Для начала :
Процедура ПослеОткрытия()
    Форма.КП_.Видимость(0);
    Форма.КП_.Видимость(1);
КонецПроцедуры

в ПриОткрытии()         
Попытка
       УправлениеФормой = СоздатьОбъект("УправлениеФормой");
     ПривязкаЭлементов();
Исключение

КонецПопытки;
     

//======================================================================
Процедура ПривязкаЭлементов()
     ПривязкаЭлементов = УправлениеФормой.ПривязкаЭлементов;
     ЭлементПривязки = ПривязкаЭлементов.Добавить("ТП_");
     ЭлементПривязки.Установить("Верх", "В", "Форма");
     ЭлементПривязки.Установить("Низ", "Н", "Форма");
     ЭлементПривязки.Установить("Лево", "Л", "Форма");
     ЭлементПривязки.Установить("Право", "П", "Форма");

     ПривязкаЭлементов.Привязать();
КонецПроцедуры
     
  
Наверх
 
IP записан
 
Alexx_S
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Местоположение: UA
Зарегистрирован: 23. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1107 - 22. Июля 2014 :: 09:13
Печать  
Может пригодится :
//========================
Процедура глМаксимизироватьОкно()
     // вызывать в конце процедуры "ПриОткрытии" из модуля формы
     WSHShell = СоздатьОбъект("WScript.Shell");
     WSHShell.SendKeys("%");
     WSHShell.SendKeys("{LEFT}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}");
КонецПроцедуры
  
Наверх
 
IP записан
 
Mink Snopes
Junior Member
**
Отсутствует


bookkeeping considered
harmful

Сообщений: 30
Местоположение: Dombabwe
Зарегистрирован: 05. Ноября 2013
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1108 - 22. Июля 2014 :: 11:35
Печать  
Alexx_S писал(а) 22. Июля 2014 :: 09:12:
Для начала :
...
в ПриОткрытии()        
Попытка
       УправлениеФормой = СоздатьОбъект("УправлениеФормой");
     ПривязкаЭлементов();
Исключение

КонецПопытки;
...

Как я понял УправлениеФормой - устаревший класс, от которого в текущей поставке осталась только документация, вместо него - ЭлементыФормы. Как-то так:
Код
Выбрать все
Привязка = СоздатьОбъект("ЭлементыФормы.Привязка");
Привязка.ВключитьПерехватСобытий(Контекст);
Привязка.ПривязатьЭлемент("ТП_", 1, 1, 1, 1); 



Alexx_S писал(а) 22. Июля 2014 :: 09:13:
Может пригодится :
//========================
Процедура глМаксимизироватьОкно()
     // вызывать в конце процедуры "ПриОткрытии" из модуля формы
     WSHShell = СоздатьОбъект("WScript.Shell");
     WSHShell.SendKeys("%");
     WSHShell.SendKeys("{LEFT}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}");
КонецПроцедуры

Подобное шаманство помогает, если его поместить в правильном месте. У меня получилось, если такое делать до вызова ПоставщикДанных.Обновить() (хотя я делал средствами formex, но вряд ли есть разница).


В общем удалось найти типа решение - создавать ПоставщикДанных в ПослеСозданияФормы, а вызывать ПоставщикДанных.Обновить() в ПослеОткрытия. Хотя и потребовалось расставлять нужные слова в правильном порядке:
  • Вызывать ЭлементыФормы.Привязка() необходимо до ПоставщикДанных.Обновить()
  • Вызывать Форма.КоманднаяПанель.Видимость({0,1}) строго после ПоставщикДанных.Обновить()
  • И самое непонятное - создание ПоставщикДанных и вызов ПоставщикДанных.Обновить() ну никак не хотят отрабатывать (не ломая привязки) в одной процедуре, будь то ПослеСозданияФормы или ПослеОткрытия

На данный момент понятно только то, что ничего непонятно, буду копать дальше, если умом не тронусь, конечно)
  
Наверх
 
IP записан
 
Alexx_S
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Местоположение: UA
Зарегистрирован: 23. Сентября 2009
Пол: Мужской
Re: Класс "ПоставщикДанных" - обсуждения. Часть 2.
Ответ #1109 - 22. Июля 2014 :: 11:43
Печать  
вот кусок моей обработки :

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


Привязку можна делать в ПриОткрытии()
Вызывать Форма.КоманднаяПанель.Видимость({0,1}) делается в ПослеОткрытия()
создание ПоставщикДанных и вызов ПоставщикДанных.Обновить()  делается в ПослеСозданияФормы() (у меня там вызов процедур где происходит инициализация поставщика и в конце процедуры ПоставщикДанных.Обновить())
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 72 73 [74] 75 76 ... 81
ОтправитьПечать