Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Три закладки и три слоя, как ими управлять (http://forums.kuban.ru/f1040/tri_zakladki_i_tri_sloya_kak_imi_upravlyat--3861264.html)

mykuban 13.03.2013 13:57

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

в 7.7

101 13.03.2013 14:07

Форма.Закладки.ДобавитьЗначение("Постоянный,ФормаАДВ11","Форма АДВ-11");

Форма.ИспользоватьСлой("Постоянный,ФормированиеПачек",2);

mykuban 13.03.2013 14:23

Пишу так:

Процедура ПриОткрытии()

Форма.ИспользоватьЗакладки(1);
Форма.Закладки.ДобавитьЗначение("Основные данные","Основные данные");
Форма.Закладки.ДобавитьЗначение("Фильтр","Фильтр");
Форма.ИспользоватьСлой("Основной");
КонецПроцедуры

Процедура ПриВыбореЗакладки(НомерЗакладки, Значение) // Предопределенная процедура

Если Значение="Основные данные" Тогда
Форма.ИспользоватьСлой("Основной");
ИначеЕсли Значение="Фильтр" Тогда
Форма.ИспользоватьСлой("Фильтр");
ИначеЕсли Значение="Выбор" Тогда
Форма.ИспользоватьСлой("Выбор");
КонецЕсли;

КонецПроцедуры

мне нужно чтоб при определенных действиях появилась еще одна закладка - "Выбор".

а потом чтоб она убралась.

mykuban 13.03.2013 14:59

никто?

user1C 13.03.2013 15:03

стоит начать с изучения работы со списком значений, в частности, определения понятий значение и представление...
зы
Форма.Закладки это список значений

real 13.03.2013 15:05

При выборе закладки ты рулишь слоями, при определенных действиях удаляй из Форма.Закладки нужный слой, ну и на всякий случай скрывай слой на этой закладке. Вдруг пользователь на нем сейчас.

mykuban 13.03.2013 15:07

[quote=user1C;29503235] стоит начать с изучения работы со списком значений, в частности, определения понятий значение и представление... зы Форма.Закладки это список значений [/quote]

я знаю что это список значений. а как в списке значений управлять видимостью элементов? в этом и вопрос.

mykuban 13.03.2013 15:08

[quote=real;29503265] При выборе закладки ты рулишь слоями, при определенных действиях удаляй из Форма.Закладки нужный слой, ну и на всякий случай скрывай слой на этой закладке. Вдруг пользователь на нем сейчас. [/quote]

подожди скрывать. мне для начала его как то показать надо. Пробовал:

Форма.ИспользоватьСлой("Выбор");

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

Helen1986 13.03.2013 15:19

использование закладок - это в принципе в документах для бухов источник ПОСТОЯННЫХ ошибок.

за это надо убивать на месте, выводить в чистое поле и вешать, а затем топить в центре стадиона

user1C 13.03.2013 15:21

(6)
видимостью закладок управляет форма, исходя из количества значений в Форма.Закладки

101 13.03.2013 15:22

Форма.ИспользоватьСлой("Постоянный,ФормированиеПачек",2);

скока слоев перечислено ?

mykuban 13.03.2013 15:22

[quote=Helen1986;29503649] использование закладок - это в принципе в документах для бухов источник ПОСТОЯННЫХ ошибок. за это надо убивать на месте, выводить в чистое поле и вешать, а затем топить в центре стадиона [/quote]

ну так не используйте для бухов закладки. свалите все на одну страничку и шрифт 6й сделайте, пусть работают без ошибок.

mykuban 13.03.2013 15:26

[quote=user1C;29503710] (6) видимостью закладок управляет форма, исходя из количества значений в Форма.Закладки [/quote]

т.е. туда мне надо 3 штуки добавить ПриОткрытии() правильно?

mykuban 13.03.2013 15:27

[quote=101;29503736] Форма.ИспользоватьСлой("Постоянный,ФормированиеПач ек",2); скока слоев перечислено ? [/quote]

Предположим что пробел это просто опечатка. 2 слоя получается.

user1C 13.03.2013 15:30

(12)
добавишь 2 будет 2, добавишь еще 1(когда надо) будет 3, удалишь 1 будет 2... как то так)

Helen1986 13.03.2013 15:34

(11) у тебя весной всегда обострение одноЭсной тупости?

mykuban 13.03.2013 15:37

[quote=user1C;29503935] (12) добавишь 2 будет 2, добавишь еще 1(когда надо) будет 3, удалишь 1 будет 2... как то так) [/quote]

а, теперь понял

101 13.03.2013 15:45

уффф не поверишь какой камень свалился с душИ
[img]http://img9.joyreactor.cc/pics/post/%D0%BC%D0%B5%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%82-%D1%87%D0%B5%D0%BB%D1%8F%D0%B1%D0%B8%D0%BD%D1%81%D0%BA-%D1%80%D0%BE%D1%81%D1%81%D0%B8%D1%8F-%D0%BF%D1%80%D0%BE%D0%B4%D0%B0%D0%BC-570189.jpeg[/img]

mykuban 13.03.2013 15:50

[quote=101;29504322] уффф не поверишь какой камень свалился с душИ [/quote]

все хуже. я понял что так сделать не получится. нужно через отдельную форму. модальную.

mykuban 19.03.2013 12:59

Снова я.

А вот теперь такая проблема. Если в процессе работы программы создаются 2 или 3 дополнительных слоя, то при изменении в элементе, например Текст, на одном из слоев, на других он тоже меняется.

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

101 19.03.2013 13:26

ну ты даешь ;)) перерисовывай тогда реквизиты как в регламентированной отчетности
ЗЫ зачем такое извращение вообще не понимаю - в конце концов используй подчиненные документы

mykuban 19.03.2013 13:29

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

Helen1986 19.03.2013 14:33

хотеть не вредно - вредно не хотеть

не мучайся ты с закладками - в 77 работа с ними через одно место
и они - потенциальные источники ошибок

mykuban 19.03.2013 16:02

А как? Подчиненный документ? Создавать его когда нужно, заполнять, показывать а потом не сохранять просто?

получится так?

Helen1986 19.03.2013 16:12

можно открыть несколько форм подчиненных документов
можно открыть несколько форм обработки, с пародией на документ
можно сделать вместо основного документа обработку с ТЗ, на ней основной документ и подчиненные в одной таблице, и записывать что нужно по ОК

в любом случае надо в основной форме отслеживать состояние "подчиненных" форм и захлопывать их при закрытии основной

Чучундер 19.03.2013 16:14

как вариант6 вместо закладок используй технологию "мастера" - переход по шагам. выйти можно только на последнем шаге.

Helen1986 19.03.2013 16:20

"мастер" плох тем, что это те же закладки, только вид сбоку
но самое плохое - он в общем то жестко настроен и не допускает произвольного выбора в работе. Все варианты должен сделать программист

Чучундер 19.03.2013 16:58

Если ВдругНаступилНужныйМомент=1
Тогда
Форма.Закладки.ДобавитьЗначение("Выбор","Это типа выбор");
ПозицияВыбора= Форма.Закладки.РазмерСписка();
//Форма.Закладки.ВставитьЗначение(параметрывставкизначениявСЗ);
//ПозицияВыбора = нужное занчение;
КонецЕсли;

Если КапецНужныйМомент=1
Тогда
Форма.Закладки.УдалитьЗначение(ПозицияВыбора);
//тут если надо - проанализировать и если
//были на закладке выбора - перепозиционировать закладки
//Форма.Закладки.ТекущаяСтрока(1);
//ПриВыбореЗакладки(1);
КонецЕсли;
ПозицияВыбора= Форма.Закладки.РазмерСписка();
//Форма.Закладки.ВставитьЗначение(параметрывставкизначениявСЗ);
//ПозицияВыбора = нужное занчение;
КонецЕсли;

user1C 19.03.2013 17:30

(19)
"[em]Если в процессе работы программы создаются 2 или 3 дополнительных слоя[/em]"
в процессе работы программы создаваться могут только закладки, слои создаются в пофигураторе... мухи отдельно, котлеты отдельно
вообще, в чем смысл то сабжа?

mykuban 20.03.2013 09:07

[quote=Чучундер;29602438] как вариант6 вместо закладок используй технологию "мастера" - переход по шагам. выйти можно только на последнем шаге. [/quote]

ну да, мастер это теже закладки. щас еще помучаюсь с закладками, если не получится буду делать через документ.

mykuban 20.03.2013 09:28

Вообщем с самими закладками разобрался. Вот только они все получаются одинаковые. При создании ввожу информацию. И она получается заменяется на всех созданных закладках на одно и тоже.

user1C 20.03.2013 09:36

(30)
ну, теперь разберись с работой со слоями в ПриВыбореЗакладки...

VZ 20.03.2013 10:09

30-mykuban > Хосподя... Закладки и слои - разные сущности. Первые назначаются программно. Вторые - в процессе конфигурирования. Закладок может не быть. Слои всегда присутствуют (минимум один слой). Каждый контрол располагается на конкретном слое, и прыгать на другой слой не может. Видимость самого контрола вещь самостоятельная, и от видимости слоя не зависит. Но если слой невидим, невидимы все контролы, привязанные к этому слою. Слой может быть либо невидимым, либо видимым. Все видимые слои видны одновременно (т.е., они прозрачны по природе). Закладки и слои функционально не связаны никак. Если в обработчике привыборезакладки не будешь управлять слоями, общая картинка не изменится. Будешь - изменится.
Вот и вся премудрость.

mykuban 20.03.2013 10:40

[quote=user1C;29611483] (30) ну, теперь разберись с работой со слоями в ПриВыбореЗакладки... [/quote][quote=VZ;29612334] 30-mykuban > Хосподя... Закладки и слои - разные сущности. Первые назначаются программно. Вторые - в процессе конфигурирования. Закладок может не быть. Слои всегда присутствуют (минимум один слой). Каждый контрол располагается на конкретном слое, и прыгать на другой слой не может. Видимость самого контрола вещь самостоятельная, и от видимости слоя не зависит. Но если слой невидим, невидимы все контролы, привязанные к этому слою. Слой может быть либо невидимым, либо видимым. Все видимые слои видны одновременно (т.е., они прозрачны по природе). Закладки и слои функционально не связаны никак. Если в обработчике привыборезакладки не будешь управлять слоями, общая картинка не изменится. Будешь - изменится. Вот и вся премудрость. [/quote]

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

VZ 20.03.2013 10:52

33-mykuban > Чтоб разные слои отображались, надо иметь эти самые разные слои.
Как с рыбой: чтоб пожарить рыбу, надо иметь эту самую рыбу. Или, по мнению англичан, чтоб пожарить кролика, нужна хотя бы кошка.

mykuban 20.03.2013 12:11

да. ну ничего. теперь буду знать.


Текущее время: 16:55. Часовой пояс GMT +3.