| 
    
            
         
         | 
    
  | 
Разделить реквизиты разных вкладок | ☑ | ||
|---|---|---|---|---|
| 
    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) можно какой-нибудь пример?     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |