| 
    
            
         
         | 
    
  | 
Обойти модуль объекта... | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Darhon    
     20.03.19 
            ✎
    00:49 
 | 
         
        Здравствуйте. Проблема в следующем. Есть веб-сервис он по поступлении некоторого пакета данных вносит изменения в документ и проводит его. При проведении возникает ошибка:
 
        Переменная не определена (РежимДиалогаВопрос) Проблема в том, что модуль не содержит исходных кодов. И я даже не знаю что делать. Нужно как-то обойти этот функционал. Если подскажете спасибо.  | 
|||
| 
    1
    
        PR    
     20.03.19 
            ✎
    01:24 
 | 
         
        Обратиться к разработчику с вопросом "Многоуважаемая компания имярек, какого куя..."     
         | 
|||
| 
    2
    
        PR    
     20.03.19 
            ✎
    01:25 
 | 
         
        +(1) Закончить конечно же как-то так
 
        Надеюсь на скорейшее решение моего вопроса, иначе вынужден буду обратиться напрямую к вендору с этим же вопросом С уважением, бла бла бла  | 
|||
| 
    3
    
        Лодырь    
     20.03.19 
            ✎
    05:29 
 | 
         
        (0) А запись документа в режиме обмена данными прокатывает?     
         | 
|||
| 
    4
    
        PR    
     20.03.19 
            ✎
    11:08 
 | 
         
        (3) Причем здесь это?
 
        У него ошибка компиляции модуля по ходу  | 
|||
| 
    5
    
        Лодырь    
     20.03.19 
            ✎
    11:10 
 | 
         
        (4) А вы знаете в каком модуле происходит эта ошибка?     
         | 
|||
| 
    6
    
        PR    
     20.03.19 
            ✎
    11:11 
 | 
         
        (5) Нет, просто я знаю 1С     
         | 
|||
| 
    7
    
        Лодырь    
     20.03.19 
            ✎
    11:11 
 | 
         
        (6) А, ну да, ну да.     
         | 
|||
| 
    8
    
        PR    
     20.03.19 
            ✎
    11:17 
 | 
         
        (7) Рукалицо
 
        Судя по-всему в обычном режиме у него все работает, а ругается именно при работе веб-сервиса Скорее всего у него толстый клиент В режиме толстого клиента РежимДиалогаВопрос не ругается А в режиме веб-сервиса ругается Я с таким сталкивался, поэтому знаю А ты сталкивался? Если сталкивался, то что тут бурно сарказмируешь? Если нет, то опять же, зачем лишний раз рот не по делу раскрывать?  | 
|||
| 
    9
    
        Мыш    
     20.03.19 
            ✎
    11:17 
 | 
         
        Разработчики скрытого кода любят задавать вопросы серверу, а сервер не хочет отвечать:
 
        РежимДиалогаВопрос Доступность: Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент  | 
|||
| 
    10
    
        Ник080808    
     20.03.19 
            ✎
    11:20 
 | 
         
        (8) (9) +100500. В модуле клиентская процедура, которую не видит вебсервер. Вариант не проводить веб сервисом, а записывать только изменения и пихать в регистр сведений из которого регламентным заданием выбирать документы и проводить. Костыль костыльный, но если нет доступа к модулю, то как вариант.     
         | 
|||
| 
    11
    
        Вафель    
     20.03.19 
            ✎
    11:24 
 | 
         
        (10) рег.задание, однако, тоже на сервере     
         | 
|||
| 
    12
    
        Ник080808    
     20.03.19 
            ✎
    11:31 
 | 
         
        (11) ну ок: регзадание может запускать приложение 1с) от служебного пользователя который при старте проводит документы и закрывается)     
         | 
|||
| 
    13
    
        Лодырь    
     20.03.19 
            ✎
    11:35 
 | 
         
        (8) Сколько эмоций.
 
        Вынести в общий модуль что-нибудь в стиле: [code] Процедура ПроцедураСВопросом() ЭКспорт РежимДиалога = РежимДиалогаВопрос.ДаНет; Сообщить("PR неправ"); КонецПроцедуры [/code] И получите работу в толстом клиенте и не работу в тонком. В при этом вполне можно будет обойти ошибку через режим обмена данными. Попробовать то можно. Смысл делать предположение, если можно его проверить и получить утверждение.  | 
|||
| 
    14
    
        Ник080808    
     20.03.19 
            ✎
    11:38 
 | 
         
        (13) "В при этом вполне можно будет обойти ошибку через режим обмена данными." - ошибка выпадает при компиляции модуля объекта, так что "Загрузка = истина" не проканает. Он валится скорее всего при попытке получитьобъект()     
         | 
|||
| 
    15
    
        Лодырь    
     20.03.19 
            ✎
    11:41 
 | 
         
        (14) И вам напишу. Мы не знаем в каком модуле ошибка. Да скорее всего в модуле объекта. Но вдруг?     
         | 
|||
| 
    16
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    11:46 
 | 
         
        (0) Сделайте чтобы веб-сервис создавал новые объекты в которых записано куда и какие изменения вносить.
 
        Затем юзер (или робот) запускает обработку, перебирает объекты-задания от сервиса и правит документы как надо с проведением их.  | 
|||
| 
    17
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    11:48 
 | 
         
        (1) Ммм, неа. Не пойду я к вам устраиваться на удаленку.     
         | 
|||
| 
    18
    
        Ник080808    
     20.03.19 
            ✎
    11:49 
 | 
         
        (15) справедливо, но тогда с автора (0) полный текст ошибки что оно выдает. Там должно быть указано в тексте ошибки модуль документа или общий модуль ругается.     
         | 
|||
| 
    19
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    11:50 
 | 
         
        (16)+ Хотя должен признать если там перед/при проведении документа вопрос задается и ожидается ответ то это уже пи..ц     
         | 
|||
| 
    20
    
        mistеr    
     20.03.19 
            ✎
    11:55 
 | 
         
        (0) Проблема в том, что документ не поддерживает неинтерактивное проведение (задает вопросы при проведении). Разработчик модуля не позаботился об этом. Кроме того, это нарушение стандартов разработки.
 
        Варианты решения. 1. Договориться с разработчиком о доработке. 2. Декомпилировать модуль и переписать как надо (нарушение лицензии? Не уверен на 100%). 3. Создать новый документ, который двигает нужные регистры, и пользоваться им для веб сервиса. Я бы пробовал сначала 1, потом 3, потом 2.  | 
|||
| 
    21
    
        PR    
     20.03.19 
            ✎
    12:02 
 | 
         
        (13) Да просто не понимаю, когда кто-то не в теме, но тоже очень хочет поспорить
 
        Насчет вынесения в общий модуль ты просто еще раз подтвердил, что ты не в теме Я же говорю, ошибка выдается в результате инициализации веб-сервисом модуля объекта Если же ошибочный код будет в общем модуле, а не в модуле объекта, то как минимум на этапе инициализации объекта ошибки не будет В дальнейшем, при вызове общего модуля, возможно будет ошибка, да. И что? В случае ТС я просто не могу придумать пример, кроме толстого клиента и ошибки в модуле объекта, при которой все будет хорошо на клиенте и хреново в веб-сервисе Придумаешь такой вариант, напиши А пока звучит как предложение попинать шины и протереть стекла Ну да, если по-другому не умеешь, то можно и так, согласен  | 
|||
| 
    22
    
        PR    
     20.03.19 
            ✎
    12:05 
 | 
         
        (15) — Здравствуйте, у меня программа выдает ошибку деления на ноль при проведении документа, что мне делать?
 
        — Попробуйте выключить и включить компьютер ну или обновить платформу на последнюю, еще можно попробовать почистить кеш — А это поможет? — Не знаю, но вдруг поможет  | 
|||
| 
    23
    
        PR    
     20.03.19 
            ✎
    12:07 
 | 
         
        (17) К разработчикам, которые забивают болт на синтаксический контроль модулей, после чего еще и исключают модули из поставки, надо обращаться именно так
 
        Понятно, что исключенный модуль вроде как можно восстановить, но какого хрена я должен заниматься этим онанизмом, не?  | 
|||
| 
    24
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    12:08 
 | 
         
        (22) Есть не 0 вероятность что в процессе/после этих действий юзер более на линию техподдержки не позвонит = задача выполнена.
 
        Например комп/система упадет или юзер сам догадается в чем проблема и сам исправит.  | 
|||
| 
    25
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    12:10 
 | 
         
        (23) Иногда лучше решить очень сложную проблему клиента не посылая его "к разработчику".     
         | 
|||
| 
    26
    
        PR    
     20.03.19 
            ✎
    12:14 
 | 
         
        (20) Еще раз, сто к одному, что проблема не в том, что документ не поддерживает неинтерактивное проведение (задает вопросы при проведении), а в том, что в модуле объекта синтаксическая ошибка при компиляции именно в режиме работы веб-сервиса, а в режиме толстого клиента этой ошибки нет     
         | 
|||
| 
    27
    
        PR    
     20.03.19 
            ✎
    12:15 
 | 
         
        (25) Darhon клиент?     
         | 
|||
| 
    28
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    12:20 
 | 
         
        (27) Потенциальный     
         | 
|||
| 
    29
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    12:23 
 | 
         
        Стандартный пример когда фра не может или посылает а фри предлагает решение.
 
        Иногда фра не зная как лупит ценник побольше на авось, а уже потом пытается спихнуть проблему на своих сотрудников.  | 
|||
| 
    30
    
        PR    
     20.03.19 
            ✎
    12:27 
 | 
         
        (29) Что за бред ты тулишь?     
         | 
|||
| 
    31
    
        palsergeich    
     20.03.19 
            ✎
    12:36 
 | 
         
        По текущей методологии в модуле объекта не должно быть инструментов интерактивной работы, даже там, где их поместить можно - как ВВашем случае с ОФ.
 
        Начать надо с того, что бы интерактивный функционал вынести в интерактивные механизмы, а именно в форму.  | 
|||
| 
    32
    
        palsergeich    
     20.03.19 
            ✎
    12:39 
 | 
         
        Конкретно в этом примере классический случай удержания транзакции до интерактивного действия пользователей, когда остальные могут страдать.
 
        Не надо так  | 
|||
| 
    33
    
        PR    
     20.03.19 
            ✎
    12:40 
 | 
         
        (32) Да это может быть где угодно в модуле, даже в ни разу нигде не вызываемой процедуре или функции     
         | 
|||
| 
    34
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    12:41 
 | 
         
        Интересный вопрос а расширения нормально перекрывают модули без исходных кодов?     
         | 
|||
| 
    35
    
        mistеr    
     20.03.19 
            ✎
    12:41 
 | 
         
        (26) Это и называется "не поддерживает". Просто проявляется по-разному: в толстом - задает вопрос, в других - валится.     
         | 
|||
| 
    36
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    12:42 
 | 
         
        (34)+ Это к тому чтобы не трогать конфу закрытую, просто получить код что там в закрытом модуле и повторить его правильно.     
         | 
|||
| 
    37
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    12:43 
 | 
         
        (30) Вот поэтому и не пойду к вам.     
         | 
|||
| 
    38
    
        mistеr    
     20.03.19 
            ✎
    12:50 
 | 
         
        (26) Разве модуль без исходного текста уже не скомпилирован во всех режимах?     
         | 
|||
| 
    39
    
        palsergeich    
     20.03.19 
            ✎
    12:51 
 | 
         
        (34) нормально, я проверял     
         | 
|||
| 
    40
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    12:52 
 | 
         
        (39) ОК тогда проблема ТС решается, не так и сложно     
         | 
|||
| 
    41
    
        PR    
     20.03.19 
            ✎
    13:38 
 | 
         
        (35) Может оказаться и так, что программное проведение вполне себе будет работать, а вот проведение в режиме веб-сервиса будет валиться с ошибкой     
         | 
|||
| 
    42
    
        PR    
     20.03.19 
            ✎
    13:39 
 | 
         
        (37) Да тебе вроде пока джоб-офер и не высылали     
         | 
|||
| 
    43
    
        PR    
     20.03.19 
            ✎
    13:40 
 | 
         
        (38) Не знаю
 
        Но даже если и так, то что? Ошибка-то есть  | 
|||
| 
    44
    
        PR    
     20.03.19 
            ✎
    13:42 
 | 
         
        (40) И как именно?
 
        Просто взять и заменить для любых ситуаций модуль объекта своим пустым?  | 
|||
| 
    45
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    13:43 
 | 
         
        (44) Ты не в курсе как получить байт код и затем его декомпилировать?     
         | 
|||
| 
    46
    
        PR    
     20.03.19 
            ✎
    13:51 
 | 
         
        (45) О как
 
        А нахрена тогда расширение? Просто исправляешь говнокод и все  | 
|||
| 
    47
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    13:57 
 | 
         
        (46) Потому что придется весь модуль тогда исправлять (вместо одной процедуры/функции) и как бы вмешательство в систему защиты вместо типового механизма от 1С.
 
        Даже с поддержки конфу не надо снимать.  | 
|||
| 
    48
    
        famnam    
     20.03.19 
            ✎
    13:58 
 | 
         
        (46) не уверен, что расширение поможет. даже если использовать Вместо. Заместить можно только процедуру,а не весь модуль. Он все равно должен скомпилироваться прежде     
         | 
|||
| 
    49
    
        PR    
     20.03.19 
            ✎
    14:00 
 | 
         
        (47) Смешно
 
        Прочитай (33)  | 
|||
| 
    50
    
        PR    
     20.03.19 
            ✎
    14:00 
 | 
         
        (48) Эээ..., ты точно мне?
 
        А то я-то как раз это понимаю, в отличие от Garykom  | 
|||
| 
    51
    
        famnam    
     20.03.19 
            ✎
    14:02 
 | 
         
        (50) Извини, не все прочел :)
 
        Тогда подытожил твои замечания  | 
|||
| 
    52
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    14:04 
 | 
         
        (49) Не знаю что ты хочешь этом сказать.
 
        Я исходил из того что у ТС документ нормально проводится пользователем через интерфейс в клиенте.  | 
|||
| 
    53
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    14:06 
 | 
         
        (51) Поставка без исходных кодов = уже скомпилировано.     
         | 
|||
| 
    54
    
        Cyberhawk    
     20.03.19 
            ✎
    14:06 
 | 
         
        Походу в модуле объекта "паршивый код" обернут инструкцией
 
        #Если Клиент Тогда ... #КонецЕсли  | 
|||
| 
    55
    
        Cyberhawk    
     20.03.19 
            ✎
    14:07 
 | 
         
        Интересно, какого исходного текста нет у автора - веб-сервиса или модуля нужного документа     
         | 
|||
| 
    56
    
        famnam    
     20.03.19 
            ✎
    14:08 
 | 
         
        (54) ну да, только НЕ обернут получается...     
         | 
|||
| 
    57
    
        Генератор    
     20.03.19 
            ✎
    14:21 
 | 
         
        Думаю у автора обычное приложение, если такие конструкции в серверно-клиентских модулях работают. Скорее всего там режим совместимости и не даст использовать расширение.     
         | 
|||
| 
    58
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    14:25 
 | 
         
        (57) Ну тогда (16) если модуль без кодов не меняем.
 
        Лично я думаю у ТС нечто вроде Альфа-Авто 4 или похожее, там с поддержкой уже никак и пошлют если обратиться насчет неработающего веб-сервиса в дописанной конфе.  | 
|||
| 
    59
    
        PR    
     20.03.19 
            ✎
    14:30 
 | 
         
        (52) И чо и чо?
 
        Еще раз, это нормально, когда в толстом клиенте все нормально работает, а вот в веб-сервисе будут синтаксические ошибки компиляции модуля, такое вполне себе может быть Изучи матчасть что ли, а то я уже утомился безрезультатно повторять тебе одно и то же  | 
|||
| 
    60
    
        PR    
     20.03.19 
            ✎
    14:31 
 | 
         
        (54) Нет, потому что в этом случае веб-сервис бы не ругался
 
        Ты думаешь, когда что-то пишешь?  | 
|||
| 
    61
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    14:34 
 | 
         
        (59) Мы уже неоднократно выясняли насчет знания матчасти и теории в целом.
 
        И да не словами говори ты продемонстрируй на конфе "в веб-сервисе будут синтаксические ошибки компиляции модуля"  | 
|||
| 
    62
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    14:35 
 | 
         
        (61) Веб-сервис = обычное ВнешнееСоединение     
         | 
|||
| 
    63
    
        PR    
     20.03.19 
            ✎
    14:41 
 | 
         
        (61) Рукалицо
 
        Добавь в модуль документа процедуру 
Этого будет достаточно, чтобы толстый клиент работал, а веб-сервис нет  | 
|||
| 
    64
    
        PR    
     20.03.19 
            ✎
    14:41 
 | 
         
        (62) LOL
 
        Это не так Ладно, заканчиваю разговор, ты я смотрю, с темой не сталкивался, но очень хочешь что-нибудь сказать  | 
|||
| 
    65
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    14:56 
 | 
         
        (63) (64) А теперь скажи в какой момент происходит компиляция в случае поставки без исходных кодов?
 
        Еще раз повторю, ты сначала прочитай (52) а затем своё (59) и уже затем слезай с темы (64) Если расширение работает (режим совместимости) то можно перекрыть только кривой код. Что ты хотел своими заумствованиями с самого начала темы сказать типа (0) где "Обратиться к разработчику с вопросом "Многоуважаемая компания имярек, какого куя..."" Я лично не понимаю. Уважаемая компания писала конфу году так в 2007-2010, если не раньше. И даже не подозревала что когда то в нее некто будет засовывать веб-сервисы.  | 
|||
| 
    66
    
        Cyberhawk    
     20.03.19 
            ✎
    16:08 
 | 
         
        (60) Вкралась ошибка - забыл частицу "не". Но что-то ты агрессивно как-то придираешься )     
         | 
|||
| 
    67
    
        Сияющий в темноте    
     20.03.19 
            ✎
    16:43 
 | 
         
        Модули то скомпиллированы,но в них имеются внешни5 ссылки,которые восстанавливаются перед запуском модуля.просто,система не видит режим диалога вопрос.
 
        можно сделать бяку,а именно,в модуле внешнего соединения определить функцию РежимДиалогаВопрос на сервере ну или в любом серверном можуле с галочкой глобальный.  | 
|||
| 
    68
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    16:57 
 | 
         
        (67) Прикольно, жаль что может не помочь, надо знать что там дальше вылезет.     
         | 
|||
| 
    69
    
        Serg_1960    
     20.03.19 
            ✎
    17:17 
 | 
         
        А следующей строкой вопрос юзверу вылезет :)     
         | 
|||
| 
    70
    
        Garykom    
     гуру 
    20.03.19 
            ✎
    17:25 
 | 
         
        (69) Переопределить функцию "Вопрос(..)" ?     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |