|   |   | 
| 
 | Проверка синтаксического контроля во внешних обработках | ☑ | ||
|---|---|---|---|---|
| 0
    
        Franchiser 14.02.20✎ 18:16 | 
        Есть 100500 внешних обработок. Нужно проверить в них автоматически синтаксический контроль. Как лучше это сделать?     | |||
| 1
    
        PR 14.02.20✎ 18:16 | 
        (0) Ты о чем вообще?     | |||
| 2
    
        pechkin 14.02.20✎ 18:17 | 
        только загрузить все в конфу и ее проверить     | |||
| 3
    
        Franchiser 14.02.20✎ 18:19 | 
        Проверить файлы epf, erf.
 В связи с выходом нового релиза БП обнаружилось что многие процедуры/функции общих модулей и сами общие модули перестали существовать, а они могут использоваться во внешних отчетах/обработках. Файлы выгрузил, в конфу загрузить можно только по 1-й штуке. | |||
| 4
    
        pechkin 14.02.20✎ 18:20 | 
        можно тупо открыть все по очереди     | |||
| 5
    
        Franchiser 14.02.20✎ 18:21 | 
        (4) обработок больше 1000     | |||
| 6
    
        drcrasher 14.02.20✎ 18:23 | 
        пробежать по файлам обработок, каждую создать и создать имеющиеся формы. если при создании упадёт, значит не скомпилировалось. если про создании формы упадёт - аналогично.
 завернуть в попытку и писать лог | |||
| 7
    
        Franchiser 14.02.20✎ 18:24 | 
        (6) это формы не проверит     | |||
| 8
    
        drcrasher 14.02.20✎ 18:28 | 
        (7) с чего бы? если ты принудительно создаёшь форму     | |||
| 9
    
        fisher 14.02.20✎ 18:38 | 
        tormozit кажись в своих ИР какие-то компоненты для этого юзает.     | |||
| 10
    
        fisher 14.02.20✎ 18:40 | 
        (3) Стандартный синтаксический контроль вроде ж не проверяет доступность функций общих модулей.     | |||
| 11
    
        RomanYS 14.02.20✎ 18:46 | 
        (6) при создании упадёт, если общий модуль не существует. Если ОМ есть, то только при вызове несуществующего метода     | |||
| 12
    
        RomanYS 14.02.20✎ 18:46 | 
        (10) +1     | |||
| 13
    
        ДенисЧ 14.02.20✎ 18:54 | ||||
| 14
    
        Franchiser 14.02.20✎ 19:39 | 
        Написал уже обработку по проверке, осталось формы дописать.     | |||
| 15
    
        probably 14.02.20✎ 20:05 | 
        (13) у тебя ругается на модуль ОбщегоНазначения, а не на процедуру в нем, или я путаю?     | |||
| 16
    
        Franchiser 14.02.20✎ 20:15 | 
        (15) на процедуру ругается... Все ок.
 Как получить список всех форм внешней обработки/отчёта? | |||
| 17
    
        Franchiser 14.02.20✎ 20:20 | 
        (10) может не проверять если написать объявление через метод общиймодуль()     | |||
| 18
    
        ДенисЧ 14.02.20✎ 20:40 | 
        (16) ОбъектМетаданных: Обработка (MetadataObject: DataProcessor)
 Формы (Forms) Использование: Только чтение. Описание: Тип: КоллекцияОбъектовМетаданных. Коллекция объектов метаданных, описывающих формы данного объекта метаданных. Доступность: Сервер, толстый клиент, внешнее соединение. | |||
| 19
    
        RomanYS 14.02.20✎ 21:24 | 
        (16) Что на процедуру ругается? 
 Ctrl-F7 - не ругается. Ругается только проверка конфигурации с флагом "Расширенная проверка". Но как ее применить к ВнОбр? | |||
| 20
    
        Franchiser 14.02.20✎ 21:34 | 
        (19) сделал как предлагали, создаю объект внешней обработки, затем вызываю создание обработки, в исключении пишется информация о несуществующих ОМ и процедурах ОМ.     | |||
| 21
    
        Franchiser 14.02.20✎ 21:36 | 
        (19) хотя не проверил проверяется ли при компиляции процедуры из ОМ     | |||
| 22
    
        RomanYS 14.02.20✎ 21:37 | 
        (20) несуществующих ОМ - Да
 процедурах ОМ - только если они вызываются при создании | |||
| 23
    
        Franchiser 14.02.20✎ 21:45 | 
        (19) да ты прав. Компиляция не проверяет процедуры из ОМ.
 А синтаксис контроль проверяет только при расширенной проверке. | |||
| 24
    
        Franchiser 14.02.20✎ 21:58 | 
        Может есть возможность загрузить пакетной внешние обработки в конфигуратор для проверки используя возможности выгрузки/закрузки конфигурации в файлы?     | |||
| 25
    
        RomanYS 14.02.20✎ 21:58 | 
        (23) Вот и всё)
 Варианта 3: 1. собрать их как-то в конфигурацию и запустить проверку 2. распарсить модули и проверить наличие методов 3. тестировать функционал (есть риск, что какие-то методы вызываются по условию и тест пройдет, а в реале вылетит) Наиболее реальным п. 2 выглядит, если найти что-то полуготовое | |||
| 26
    
        ildary 14.02.20✎ 22:08 | 
        (0) На инфостарте Сапер Водичка выкладывал то, что возможно Вам нужно - обработку для проверки внешних обработок.     | |||
| 27
    
        Franchiser 14.02.20✎ 22:19 | 
        Распарсить мне кажется долго, как понять модуль это общий или нет?     | |||
| 28
    
        RomanYS 14.02.20✎ 22:26 | 
        (27) так они же все известны     | |||
| 29
    
        Franchiser 14.02.20✎ 22:28 | 
        (26) нашел его "Групповая проверка доработок" на ИС, но там не проверяются внешние обработки.     | |||
| 30
    
        Franchiser 14.02.20✎ 22:29 | 
        (28) понял, только это нужно ещё и получить список существующих процедур/функций.     | |||
| 31
    
        Franchiser 14.02.20✎ 22:30 | 
        (9) в ИР есть какой нибудь функционал на эту тему? Где tormozit...     | |||
| 32
    
        RomanYS 14.02.20✎ 22:34 | 
        (30) 
 Функция [ИмяФункции]() Экспорт Можно еще количество параметров посчитать (по запятым) и количество необязательных (по "=") Но всё равно гарантий нет - недавно в БП добавили параметр в функцию. По количеству параметров вызов нормальный(часть необязательна), а по факту не работает. Сейчас тему найду | |||
| 33
    
        Franchiser 14.02.20✎ 22:34 | 
        (28) я имел ввиду существующие ОМ известны, а старые ОМ  не известны, а их нужно отличать от переменных.     | |||
| 34
    
        Franchiser 14.02.20✎ 22:36 | 
        (32) да, пока не проверяю изменит количества параметров и возвращаемый результат... Хотя и тут много изменений     | |||
| 35
    
        RomanYS 14.02.20✎ 22:42 | ||||
| 36
    
        Franchiser 14.02.20✎ 22:46 | 
        (35) была ещё разработка
 "Расширенный синтаксический контроль" | |||
| 37
    
        RomanYS 14.02.20✎ 22:50 | 
        (25) Вариант 1 тоже вроде реален: выгрузить в файлы и собрать их в конфигурацию или расширение. Но гемора тоже много     | |||
| 38
    
        JeHer 15.02.20✎ 03:15 | 
        1000 внешних обработок и отчётов... Нах вам типовая конфа?     | |||
| 39
    
        Franchiser 15.02.20✎ 11:47 | 
        (38) бухгалтерскую отчетность как сдавать?     | |||
| 40
    
        Franchiser 15.02.20✎ 12:20 | 
        Попробовал обработку из расширения ИР "Тестирование метаданных ИР" для тестирования внешних обработок. 
 Выдает все не правильно: 1. ошибки расположены не напротив тестируемых обработок 2. выдает ошибки на используемые общие модули, хотя общие модули есть и процедуры в них тоже. | |||
| 41
    
        Tatitutu 15.02.20✎ 12:24 | 
        Сделай тестовую базу
 Напиши обработку Найтифайлы Загнать их в справочник внешние обработки Записать Потом по очереди запускать Найдёшь те которые не запускаются | |||
| 42
    
        Franchiser 15.02.20✎ 12:27 | 
        (41)  я уже это все сделал.
 Но если отсутствует процедура/функция в общих модулях и она используется во внешней обработке, то это при открытии обработки ошибки не будет. | |||
| 43
    
        ДенисЧ 15.02.20✎ 12:30 | 
        (42) Я ж какртинку показал выше...     | |||
| 44
    
        Franchiser 15.02.20✎ 12:34 | 
        (43) значит у тебя стоит настройка "расширенный синтаксический контроль".
 Если открыть обработку в режиме предприятия ошибки не будет. | |||
| 45
    
        ДенисЧ 15.02.20✎ 12:42 | ||||
| 46
    
        Franchiser 15.02.20✎ 13:20 | 
        (45) попробуй не в толстом клиенте     | |||
| 47
    
        RomanYS 15.02.20✎ 13:24 | 
        (43) В картинке ругается на общий модуль     | |||
| 48
    
        RomanYS 15.02.20✎ 13:29 | 
        (45) Если флажок "расширенная проверка" поставить(у тебя снят), то будет ругаться.
 Остается решить вопрос с автоматизацией запуска синтаксического контроля для тысячи обработок. | |||
| 49
    
        Franchiser 15.02.20✎ 13:32 | 
        (48) он говорит , что у него даже при снятом ругается. Но у него обычное приложение.     | |||
| 50
    
        RomanYS 15.02.20✎ 13:41 | 
        (49) Говорит одно, показывает другое     | |||
| 51
    
        Franchiser 15.02.20✎ 13:53 | 
        (50) кстати на рисунке ругается на переменную ОбщегоНазначения, а не на траляля     | |||
| 52
    
        RomanYS 15.02.20✎ 13:58 | 
        (51) :)))) Это не новость, см. (15), (47)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |