Имя: Пароль:
1C
1С v8
Разделить реквизиты разных вкладок
0 anikev
 
21.11.22
07:03
Здравствуйте! Не знаю, на сколько это реально, но все же... У меня есть группа со страницами. У каждой страницы своя логика: Первая добавляет номер телефона, вторая осуществляет поиск сотрудника по этому номеру. И получается, что на форме у меня тоже два реквизита: НомерТелефона и ТаблицаЗначенийСотрудники. Скажите, пожалуйста, можно ли разделить логику этих вкладок?
Если у меня будет 5 страниц и на каждой по 10 реквизитов, то я не смогу разобраться какой реквизит формы к какой странице относится.
Надеюсь, описал понятно)
Спасибо!
1 Asmody
 
21.11.22
07:13
Попробуй давать реквизитам понятные имена. Это помогает.
2 Ryzeman
 
21.11.22
07:33
(0) >>Если у меня будет 5 страниц и на каждой по 10 реквизитов, то я не смогу разобраться какой реквизит формы к какой странице относится.

Сможешь, если (1)

>>Скажите, пожалуйста, можно ли разделить логику этих вкладок?

Если ты хочешь использовать одни и те же реквизиты на разных страницах, но использовать разную логику, то у элемента группы с видом "страницы":

ПриСменеСтраницы(<ТекущаяСтраница>)
Параметры:

<ТекущаяСтраница>

Тип: Число.
Индекс страницы, на которую произошло переключение панели.

Ну или обратись по нажатию кнопки к этому элементу и проверяй свойство ТекущаяСтраница
3 SleepyHead
 
гуру
21.11.22
07:48
(0) 77/8 (УФ, ОФ) ?
4 Смотрящий
 
21.11.22
08:00
(0) Картинку покаж
5 Garykom
 
гуру
21.11.22
08:09
(0) В 1С с этим все плохо

Именуй реквизиты формы с именем вкладки впереди
Первая_НомерТелефона
Вторая_ТаблицаЗначенийСотрудники
6 anikev
 
21.11.22
08:11
8.3.12.1529
Розница, редакция 2.2 (2.2.9.19)
https://radikal.host/i/4BScr
Еще думаю можно для каждой страницы динамически создавать реквизиты
7 Garykom
 
гуру
21.11.22
08:12
Когда у объектов метаданных или форм сотни реквизитов в 1С это превращается в очень неудобную штуку

Как и невозможность в Конфигураторе раскидать метаданные по неким группам
Временно или постоянно, не просто дурацкая видимость по подсистемам
8 Ryzeman
 
21.11.22
08:17
(7) Реквизиты формы можно и программно создавать с удобными и логичными именами. Всё зависит исключительно от задачи. Но если я правильно понял (0), то ему лишь надо определять текущую страницу
9 Garykom
 
гуру
21.11.22
08:17
(8) Нет ему проще разные реквизиты сделать
10 anikev
 
21.11.22
08:23
Да, мне нужны разные реквизиты
11 Garykom
 
гуру
21.11.22
08:27
(10) ну и сделай
Первая_НомерТелефона
Вторая_НомерТелефона
Вторая_ТаблицаЗначенийСотрудники
12 anikev
 
21.11.22
08:35
Да, я буду создавать динамически и с каким-нибудь префиксом. Всем спасибо за помощь
13 anikev
 
21.11.22
09:09
Это снова я)... Подскажите, пожалуйста, почему не срабатывает процедура При смене страницы? Визуально она меняется

&НаКлиенте
Процедура ПоискКлиента(Команда)
    Элементы.RootStackPanel.ТекущаяСтраница   = Элементы.FindCustomerPage;
    
КонецПроцедуры

&НаКлиенте
Процедура ДобавитьНовогоКлиента(Команда)
    Элементы.RootStackPanel.ТекущаяСтраница   = Элементы.NewCustomerPage;
    
КонецПроцедуры

&НаКлиенте
Процедура RootStackPanelПриСменеСтраницы(Элемент, ТекущаяСтраница)
    Сообщить("Work!");
КонецПроцедуры
14 anikev
 
21.11.22
09:19
Поясню: Если я по вкладкам тыкаю, тогда все работает. Но вкладки я скрыл и использую в процедуре "ПриНажатии" на кнопке Такой код
Элементы.RootStackPanel.ТекущаяСтраница   = Элементы.FindCustomerPage;
15 Garykom
 
гуру
21.11.22
09:20
(13) Хочу огорчить
В 1С нет события переключения по вкладкам

Делай свой табулятор с вкладками
16 НафНаф
 
21.11.22
09:20
А еще пользователи могут элементы формы по страницам сами перекладывать как им вздумается
17 Garykom
 
гуру
21.11.22
09:21
(15)+ До перехода на WebKit можно было на движке IE хак заюзать
С ПолеHTML на вкладках
18 Garykom
 
гуру
21.11.22
09:21
(16) это фигня, можно запретить
19 anikev
 
21.11.22
09:21
(15) Здесь не понял - это как?
20 Ryzeman
 
21.11.22
09:22
(19) Видимостью баловаться
21 Garykom
 
гуру
21.11.22
09:22
(19) а вот так
вкладки в 1С это просто группы одной формы

делай разные формы если надо переключаться аля мастер
22 Garykom
 
гуру
21.11.22
09:22
(21)+ ну или да свои кнопочки и (20)
23 Garykom
 
гуру
21.11.22
09:23
А еще лучше просто кинь одно ПолеHTML (во всю форму) и там на HTML5/CSS/JS сделай свои вкладки
События и туда и оттуда можно замечательно
24 anikev
 
21.11.22
09:27
(21) Можно чуть по подробнее. У меня есть Главная форма и группы. Между ними я могу переходить, но что значит "Создать разные формы" и баловаться? Создать форму в форме - так 1с не умеет
25 Asmody
 
21.11.22
09:30
(13) вынести код ПриСменеСтраницы в отдельную процедуру и вызывать её при программном изменении страницы
26 Asmody
 
21.11.22
09:30
(16) это можно отключить
27 Asmody
 
21.11.22
09:31
(23) нафига усложнять? я пока не вижу причин изъё&ываться с html
28 anikev
 
21.11.22
09:35
(27)
Процедура ПриСменеСтраницыОбработчик(Элемент, ТекущаяСтраница)
                  RootStackPanelПриСменеСтраницы(Элемент, ТекущаяСтраница)
КонецПроцедуры

Синтаксис ругается: Процедура или функция с указанным именем не определена (RootStackPanelПриСменеСтраницы)
29 arsik
 
гуру
21.11.22
09:40
(15) Ну не знаю. У меня событие работает
https://i.imgur.com/aOyBZl3.png
30 anikev
 
21.11.22
09:42
(29) Это если тыкать по вкладкам, а у меня программная навигация
Процедура НажаниеНаКнопку1(Команда)
    Элементы.RootStackPanel.ТекущаяСтраница   = Элементы.FindCustomerPage;
  
КонецПроцедуры
31 arsik
 
гуру
21.11.22
09:44
(28) &НаКлиенте нужно добавить перед "Процедура ПриСменеСтраницыОбработчик(Элемент, ТекущаяСтраница) "
(30) Ну так и вызывай
Процедура НажаниеНаКнопку1(Команда)
    Элементы.RootStackPanel.ТекущаяСтраница   = Элементы.FindCustomerPage;
   ПриСменеСтраницыОбработчик(Элемент, ТекущаяСтраница);
КонецПроцедуры
32 Garykom
 
гуру
21.11.22
09:57
(29) да это я перепутал с "вкладками" командного интерфейса
обычные вкладки все ок

так что просто (25) (31)
33 anikev
 
21.11.22
09:58
(31) Спасибо, заработало!)
34 Garykom
 
гуру
21.11.22
10:00
(27) это чтобы реализация не относящегося к 1С функционала была отдельно но в тоже время "встроена в конфу 1С"
если что легко вынести в браузер и дергать http-сервисы в 1С
35 Garykom
 
гуру
21.11.22
10:02
(34)+ судя по всему ТС ваяет некий свой "Дисконтный сервер"
было бы логично отвязать это от 1С
36 anikev
 
21.11.22
10:08
(35) Там привязка будет к чекам, и ручной скидке при при продаже. Никак не отвяжешь
37 Garykom
 
гуру
21.11.22
10:20
(36) А зачем ты это делаешь когда в 1С Розница прекрасный встроенный дисконтный сервер уже есть?
38 Garykom
 
гуру
21.11.22
10:21
И да версия Розница старая как и платформа 1С
39 Смотрящий
 
21.11.22
11:04
(6) Можно так не заморачиваться. Кинь на форму реквизиты нужные и рули полем Родитель, подменяя его на нужные страницы - будет отображаться все и каши с элементами не будет
40 anikev
 
21.11.22
12:08
(37) потому что у нас ядро на с# и много клиентов с с разными конфигурациями - это самая старая. Клиентка не хочет обновляться)
41 anikev
 
21.11.22
12:24
(39) можно какой-нибудь пример?