|   |   | 
| 
 | v7: Определение типа группового контекста | ☑ | ||
|---|---|---|---|---|
| 0
    
        1snik_d 18.08.20✎ 12:03 | 
        Всем привет. Есть в 7.7 такая вещь как "ГрупповойКонтекст". Он может быть у формы, а может быть у модуля объекта. Есть ли какой-нибудь способ различить эти 2 вида контекста, потому что функция ТипЗначенияСтр() просто возвращает "ГрупповойКонтекст"?     | |||
| 1
    
        Злопчинский 18.08.20✎ 12:05 | 
        есть     | |||
| 2
    
        1snik_d 18.08.20✎ 12:06 | 
        (1) А конкретнее?     | |||
| 3
    
        Злопчинский 18.08.20✎ 12:07 | 
        (0) и не надо в 77 тянуть 8-ые принципы. 77 - это не 8-ка. в 77 - свой устав.
 нет в 77 "модуля объекта". | |||
| 4
    
        Злопчинский 18.08.20✎ 12:08 | 
        (2) отрекись от богомерзкой 8-ки, признай православную 77...
 ща... комп включу | |||
| 5
    
        1snik_d 18.08.20✎ 12:09 | 
        (3) Ну ладно, модуль проведения ))     | |||
| 6
    
        HawkEye 18.08.20✎ 12:12 | 
        (0) зачем?     | |||
| 7
    
        big 18.08.20✎ 12:16 | 
        Попытка
 п = ГрупКонтекст.НомерДок; Исключение Сообщить("Это точно не документ"); КонецПопытки Попытка п = ГрупКонтекст.Владелец; Исключение Сообщить("Это точно не справочник"); КонецПопытки | |||
| 8
    
        1snik_d 18.08.20✎ 12:21 | 
        (7) А без попыток, нет там какого-нибудь специального реквизита?     | |||
| 9
    
        1snik_d 18.08.20✎ 12:22 | 
        (6) Нужно модифицированность() анализировать, а она есть только в контексте формы     | |||
| 10
    
        Злопчинский 18.08.20✎ 12:23 | 
        //******************************************************************************
 // Функция глВернутьТипКонтекста(Знач Конт) Экспорт ТипКонтекста="ТаблицаЗначенийСписокЗначенийСправочник.ФормаСпискаДокументЖурналОтчет"; Попытка А=Конт.КоличествоКолонок(); Исключение ТипКонтекста=СтрЗаменить(ТипКонтекста,"ТаблицаЗначений",""); КонецПопытки; Попытка А=Конт.РазмерСписка(); Исключение ТипКонтекста=СтрЗаменить(ТипКонтекста,"СписокЗначений",""); КонецПопытки; Попытка А=Конт.ТекущийЭлемент(); Исключение ТипКонтекста=СтрЗаменить(ТипКонтекста,"Справочник",""); КонецПопытки; Попытка А=Конт.ИерархическийСписок(); Исключение ТипКонтекста=СтрЗаменить(ТипКонтекста,".ФормаСписка",""); КонецПопытки; Попытка А=Конт.Проведен(); Исключение ТипКонтекста=СтрЗаменить(ТипКонтекста,"Документ",""); КонецПопытки; Попытка А=Конт.ТекущийДокумент; Исключение ТипКонтекста=СтрЗаменить(ТипКонтекста,"Журнал",""); КонецПопытки; Попытка Конт.РасположениеФайла(А,А); Исключение ТипКонтекста=СтрЗаменить(ТипКонтекста,"Отчет",""); КонецПопытки; Возврат ТипКонтекста; КонецФункции //глВернутьТипКонтекста() | |||
| 11
    
        Злопчинский 18.08.20✎ 12:25 | 
        в Модуль проведения снаружи можно передать параметр, причем ШТАТНО     | |||
| 12
    
        Злопчинский 18.08.20✎ 12:27 | 
        Провести(<?>,);
 Синтаксис: Провести(<Режим>,<Знач>) Назначение: Выполнить проведение документа. Возвращает: 1 - если проведение документа выполнено, 0 - иначе. Параметры: <Режим> - необязательный параметр. Число: 0 - проводить документ без сдвига ТА; 1 - проводить непроведенный документ реальным временем (со сдвигом ТА); 2 - перепроводить проведенный документ реальным временем (со сдвигом ТА); 3 - проводить любой (непроведенный, проведенный) документ реальным временем (со сдвигом ТА). Значение по умолчанию - 0. <Знач> - выражение произвольного типа, которое передается при запуске предопределенной процедуры ОбработкаПроведения (необязателен, по умолчанию - пусто). Замечание: Метод нельзя использовать в теле предопределенной процедуры ОбработкаПроведения. Если этот метод применяется в Модуле формы документа непосредственно к документу локального контекста, то данный метод отрабатывает те же действия, как интерактивное нажатие пользователем кнопки с формулой ''#Провести''. В этом случае, если параметр <Режим> опущен, то документ проводится в режиме, соответствующем установкам системы меню Сервис-Параметры. | |||
| 13
    
        big 18.08.20✎ 12:27 | 
        (9) Можно распарсить ИД объекта из ЗначениеВСтрокуВнутр(Объект). ;)     | |||
| 14
    
        Злопчинский 18.08.20✎ 12:29 | 
        И если модуль проведения написан так, что нужно в нем понимать откуда проводится - из формы или без формы - я бы очень сильно подумал над таким архитектурным решением... А тио потом начинаются "..ничего не пончимаююю.. когда пользователь прводит документ - все нормально. когда ночью восстановлегние ГП - деление на ноль.."     | |||
| 15
    
        1snik_d 18.08.20✎ 13:15 | 
        (14) Да не, просто при проведении интерактивном нужно вызывать обработку с вводом дополнительных параметров     | |||
| 16
    
        Sserj 18.08.20✎ 13:36 | 
        (15) НЕЛЬЗЯ ТАК ДЕЛАТЬ.
 Пока кто-то там заполняет дополнительный параметр 100 человек вокруг сидят и курят глядя на ошибки ожидания завершения транзакции. | |||
| 17
    
        Злопчинский 18.08.20✎ 13:40 | 
        (15) ты чо, в дуба рухнал?!     | |||
| 18
    
        Злопчинский 18.08.20✎ 13:40 | 
        это допустимо только в условиях а) когда работает только один человек в базе и не предусмотрено "бесчеловечного" проведения документов.     | |||
| 19
    
        HawkEye 18.08.20✎ 13:58 | 
        (9) модифицированность в модуле проведения?! зачем???     | |||
| 20
    
        Злопчинский 18.08.20✎ 15:32 | 
        (19) ну так известно же зачем. по вопросу скорее чел из мира 8-ки. там мозгов не надо - ставь галочки. ну и как следствие КАК задачу поставили - так и будет делать.. ;-)     | |||
| 21
    
        Kigo_Kigo 18.08.20✎ 15:42 | 
        (15) А сделать это до проведения нельзя, тем более интерактивном?
 И веселуха будет с групповым проведением и да все что должно быть заполнено и не вычесляется/получается программным путем, должно быть заполнено до проведения, и еще само проведение должно быть как можно коротким и однозначным | |||
| 22
    
        trdm 18.08.20✎ 16:19 | 
        (16) (17) хватит подрывать производство вазелина!     | |||
| 23
    
        Злопчинский 18.08.20✎ 16:51 | 
        (22) зато проктологам работы прибавится!!!     | |||
| 24
    
        1snik_d 18.08.20✎ 17:07 | 
        (18) Так и есть     | |||
| 25
    
        1snik_d 18.08.20✎ 17:07 | 
        (16) Это я знаю     | |||
| 26
    
        Злопчинский 18.08.20✎ 17:30 | 
        (24) тут вопрос. что если дома не сдерживать себя в пердеже, то и в обществе оконфузиться можно. а если хуже - то и обосраться у всех на виду...     | |||
| 27
    
        Калиостро 19.08.20✎ 11:02 | 
        (0) При интерактивном проведении сначала формируй список параметров хоть с диалоговыми окнами, хоть с долгими расчетами.
 А потом в команде Провести их передавай в модуль документа, как в (12) и (21) тебе написали. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |