Как сослаться в коде на команду (кнопку) в форме документа?

1. VID1234 147 23.09.20 16:04 Сейчас в теме
Приветствую. Ребята подскажите как сослаться на команду на форме справочника Партнеры (показано стрелочкой во вложении). Мне нужно написать в команде Чтобы, если нажал на эту команду, то пока не заполнишь и не нажмешь создать (там отображается встроенная в форму документа форма), то форму документа нельзя было закрыть, разумеется сообщение ("Вы не заполнили и не создали задачу, завершите создание задачи и нажмите на кнопку создать, после этого можете Закрыть и сохранить открытую форму"). Во втором вложении именно сама формочка, она как бы встраивается, а скорее всего даже меняет вид формы.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. alex-l19041 8 23.09.20 16:24 Сейчас в теме
(1)
встроенная в форму документа форма
- можно подробнее ?
6. VID1234 147 23.09.20 16:26 Сейчас в теме
(4) На рисунках показано. На первом рисунке там вид самой формы в конфигураторе, а на втором вид той же формы, но только добавляется часть для создания задачи! Код тоже Выше есть!
2. VictorRGB2 14 23.09.20 16:15 Сейчас в теме
в свойствах команды перейти на выполняемый код
он будет в модуле формы
дальше смотреть как его вызов воспроизвести (или вызов команды) и как заблокировать\проверить ввод данных
3. VID1234 147 23.09.20 16:18 Сейчас в теме
(2)Действие - БыстрыйВвод_СменитьСтраницу

&НаКлиенте
Процедура БыстрыйВвод_СменитьСтраницу(Команда)
    
    ИмяКомандыМассив = СтрРазделить(Команда.Имя, "_");
    ПереключитьСтраницуБыстрогоВвода(ИмяКомандыМассив[1]);
    
КонецПроцедуры


&НаКлиенте
Процедура ПереключитьСтраницуБыстрогоВвода(Знач НовыйТипОбъекта, Знач ПолныйСброс = Ложь)
    
    Если БыстрыйВвод_ТекущийТипОбъекта = НовыйТипОбъекта И Не ПолныйСброс Тогда
        Возврат;
    КонецЕсли;
    
    ИмяТекущиейКнопки = "БыстрыйВвод_" + БыстрыйВвод_ТекущийТипОбъекта;
    ТекущийШрифтКнопки = Элементы[ИмяТекущиейКнопки].Шрифт;
    Элементы[ИмяТекущиейКнопки].Шрифт = Новый Шрифт(ТекущийШрифтКнопки,,, Ложь);
    
    ИмяКнопки = "БыстрыйВвод_" + НовыйТипОбъекта;
    ШрифтКнопки = Элементы[ИмяКнопки].Шрифт;
    Элементы[ИмяКнопки].Шрифт = Новый Шрифт(ШрифтКнопки,,, Истина);
    
    ИмяТекущейСтраницы = "БыстрыйВвод_Страница" + БыстрыйВвод_ТекущийТипОбъекта;
    Элементы[ИмяТекущейСтраницы].Видимость = Ложь;
    
    ИмяСтраницы = "БыстрыйВвод_Страница" + НовыйТипОбъекта;
    Элементы[ИмяСтраницы].Видимость = Истина;
    
    БыстрыйВвод_ТекущийТипОбъекта = НовыйТипОбъекта;
    
    НастроитьОбластьВводаПоСтранице(ПолныйСброс);
    Если БыстрыйВвод_ТекущийТипОбъекта = "Примечание" Тогда
        Элементы.БыстрыйВвод_ПримечаниеТема.ОбновитьТекстРедактирования();
    КонецЕсли;
    
    БыстрыйВвод_КэшированнаяДатаНачала = БыстрыйВвод_ДатаНачала;
    
КонецПроцедуры

Показать

И пойми что дальше делать(((
7. user5300 1077 23.09.20 16:27 Сейчас в теме
(3)
&НаКлиенте
Процедура БыстрыйВвод_СменитьСтраницу(Команда)
     Если Команда.Имя = "Задача" И Объект.Задача.Пустая() Тогда
          Сообщить("Вы не заполнили и не создали задачу, завершите создание задачи и нажмите на кнопку создать, после этого можете Закрыть и сохранить открытую форму");
          Возврат;
     Конецесли;
    
    ИмяКомандыМассив = СтрРазделить(Команда.Имя, "_");
    ПереключитьСтраницуБыстрогоВвода(ИмяКомандыМассив[1]);
    
КонецПроцедуры

Показать
11. VID1234 147 23.09.20 16:42 Сейчас в теме
(7)
Если Команда.Имя = "Задача" И Объект.Задача.Пустая() Тогда
Сообщить("Вы не заполнили и не создали задачу, завершите создание задачи и нажмите на кнопку создать, после этого можете Закрыть и сохранить открытую форму");
Возврат;
Конецесли;
При таком раскладе, ничего не происходит, если я пишу название команды БыстрыйВвод_Задача, то пишет поле объекта не найдено
12. user5300 1077 23.09.20 16:47 Сейчас в теме
(11)
Если Команда.Имя = "БыстрыйВвод_Задача" ///Имя команды
 И Объект.Задача.Пустая() Тогда   ///Это то что создается после нажатие "Создать", у вас может по другому называться реквизит
13. VID1234 147 23.09.20 16:52 Сейчас в теме
(12) А мне нужно до: человек зашел, нажал на задачи, следовательно - хотел ее создать, а потом забыл (отвлекли) начал закрывать клиента, а ему оба и сообщение, нет уж, давай сначала задачу создай, а только потом сможешь закрыть
9. alex-l19041 8 23.09.20 16:30 Сейчас в теме
(3) тут меняется видимость у страниц
 Элементы[ИмяТекущейСтраницы].Видимость = Ложь;
    
    ИмяСтраницы = "БыстрыйВвод_Страница" + НовыйТипОбъекта;
    Элементы[ИмяСтраницы].Видимость = Истина;


значит надо добавить проверку перед этим, что если ИмяТекущейСтраницы = "нужнаястраница" то делать то-то
5. BackinSoda 23.09.20 16:26 Сейчас в теме
(1) "сослаться на команду " - это что-то вроде сообщения рядом с вашей гиперссылкой ? кажись его нельзя привязать к команде/гиперссылке
8. VID1234 147 23.09.20 16:29 Сейчас в теме
(5) А ка тогда быть. Мне бы вроде того что нибудь:
Если БыстрыйВвод_Задача = Истина Тогда
Если КнопкаСоздать = Ложь;
Отказ = Истина;
КонецЕсли;
КонецЕсли;

И все это в процедуре передЗакрытием и ПередЗаписью
10. BackinSoda 23.09.20 16:33 Сейчас в теме
(8) наличие задачи, видимо надо проверять по наличию в регистре сведений, или как там у вас сделано. Если такой записи нет - выдавать ошибку.
14. VID1234 147 23.09.20 16:53 Сейчас в теме
(10) а как примерно можете написать, как обратиться к регистру и если нет то что делать, у меня с этим пока проблемы.
15. BackinSoda 23.09.20 17:05 Сейчас в теме
(14) каким образом работают задачи у вас, что происходит после нажатия на "создать" ? Как человек понимает, что у него задача есть ?
Предполагаю, что это регистр сведений. Сделать запрос к этому регистру, добавить отбор по пользователю, посмотреть, если ли там что в "активных" задачах на текущую дату.
16. VID1234 147 23.09.20 17:11 Сейчас в теме
(15) Мы заходим на форму справочника Партнеры, дальше человек заполнил все и хочет дать задачу кому либо (например руководитель создал клиента) и тут же проходит во вкладку Задача, затем страница формы видоизменяется и появляются поля Кому, Дата, и задача, он пишет задачу, дата автоматом и направляет например менеджеру петрову, а снизу кнопка создать , но он ее еще не нажимал, он только планирует. Вот и надо, чтобы если человек зашел на вкладку задача, то пока он задачу не создаст, то не сможет закрыть форму справочника партнер!
18. BackinSoda 23.09.20 20:43 Сейчас в теме
(16) это то понятно, но каким образом делается сама задача "под капотом" не совсем ясно. процедура по кнопке "создать" какая ? серверная часть её интересует
17. VID1234 147 23.09.20 17:14 Сейчас в теме
(15)
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот