AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.01.2007, 10:25   #1  
art06 is offline
art06
Участник
Аватар для art06
 
192 / 10 (1) +
Регистрация: 11.08.2006
Добрый день.
Подскажите пожалуйста, возможно ли программно (например, при нажатии на кнопку) записать в готовый и компилированный кодюнит - коментарий ???
Старый 15.01.2007, 11:35   #2  
NeNavision_imported is offline
NeNavision_imported
Участник
Аватар для NeNavision_imported
 
241 / 10 (1) +
Регистрация: 12.08.2005
Можно.
За 1000$ могу написать код
__________________
Должен остаться только один.
Старый 15.01.2007, 11:44   #3  
art06 is offline
art06
Участник
Аватар для art06
 
192 / 10 (1) +
Регистрация: 11.08.2006
Спасибо. Не надо.
Старый 15.01.2007, 11:49   #4  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от art Посмотреть сообщение
Добрый день.
Подскажите пожалуйста, возможно ли программно (например, при нажатии на кнопку) записать в готовый и компилированный кодюнит - коментарий ???
А зачем?
Может можно меньшей кровью обойтись?
Старый 15.01.2007, 12:15   #5  
art06 is offline
art06
Участник
Аватар для art06
 
192 / 10 (1) +
Регистрация: 11.08.2006
Дело в том что неделю назад у меня была задача - "Логирование отчетов" (можете почитать тему "Запущенные объекты"). Мне удалось справиться с этой задачей (причем всего навсего добавив несколько строчек в CU1 и написав свой СU).
Сейчас у меня более сложное задание - "Логирования любых функций из любого кодюнита".
Тоесть, например, клиент хочет следить за тем кто и когда из пользователей запускал учет покупки.
Один из вариантов решения -
1.В таблице необходимо выбрать кодюнит который отвечает за учет.
2.После этого необходимо получить список функций, которые имеются внутри этого кодюнита и выбрать ту функцию которая отвечат за учет.
3.Произвести запись кода в выбранную функцию выбранного кодюнита.

Примерное так, хотелось бы реализовать первый вариант.
Старый 15.01.2007, 12:32   #6  
NeNavision_imported is offline
NeNavision_imported
Участник
Аватар для NeNavision_imported
 
241 / 10 (1) +
Регистрация: 12.08.2005
Как то вы все неправильно делаете
Добавте код логирования в учетные кодюниты и там где нужен контроль (1 строка кода).

P.S. Уж вроде среда разработки как может ограничивает реализацию бредовых идей клиентов. Для этого пожертвовали многим, так нет ... Представте себе макрос Word'a который правит word.exe потому что мне цвет кнопок не нравится в меню.
__________________
Должен остаться только один.
Старый 15.01.2007, 12:41   #7  
art06 is offline
art06
Участник
Аватар для art06
 
192 / 10 (1) +
Регистрация: 11.08.2006
Добавить код - это самый простой и далеко не автоматический метод.
Я действительно благодарен за то что вы пытаетесь мне помочь.
Но, все таки я пытаюсь сделать так , что бы небыло необходимости руками добавлять эту одну единственную строчку.
Представте, что клиент скачал необходимый пакет таблиц, форм, и кодюнит. Втянул их на базу. Лицензии разработчика у него нет. А, необходимо следить за выполнением втянутого кодюнита.
Как в этом случаее поступить клиенту ?
Старый 15.01.2007, 12:54   #8  
NeNavision_imported is offline
NeNavision_imported
Участник
Аватар для NeNavision_imported
 
241 / 10 (1) +
Регистрация: 12.08.2005
А зачем следить за кодюнитом?
Кто учел и так понятно - у кого есть права.
Когда учли тоже ясно - регистры посмотреть.
Если очень нужно во все учтенные операции добавьте ID пользователя проводившего учет.
По-моему выдуманная проблема.
__________________
Должен остаться только один.
Старый 15.01.2007, 13:09   #9  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от art Посмотреть сообщение
Добавить код - это самый простой и далеко не автоматический метод.
Я действительно благодарен за то что вы пытаетесь мне помочь.
Но, все таки я пытаюсь сделать так , что бы небыло необходимости руками добавлять эту одну единственную строчку.
Представте, что клиент скачал необходимый пакет таблиц, форм, и кодюнит. Втянул их на базу. Лицензии разработчика у него нет. А, необходимо следить за выполнением втянутого кодюнита.
Как в этом случаее поступить клиенту ?
Заплатить небольшую денежку компании-внедренцу, у которых они на поддержке, что бы она вставила строчки.
Пока писал появилась мысль:
Берем любимый наш Code Coverage и:
1. прогоняем один раз критическую точку, в качестве администратора - например, учет
2. идем в Code Overview, заблаговременно "научив" систему запоминать указанные строки кода в отдельную таблицу. И указываем строки, которые система послушно запоминает.
3. В процессе работы пользователя запущен Code Coverage. Через какое-то время (периодически)запускается специальный кодеюнит, который сравнивает строки в текущем Code Coverage и сверяет их с запомненными ранее. Если есть совпадение, то пишем лог в таблицу или внешний файл.

Будет факт учета, хотя что именно учитывалось мы так и не узнаем

Так что лучше скажите клиенту, что это абсолютно невозможно.
Старый 15.01.2007, 13:21   #10  
art06 is offline
art06
Участник
Аватар для art06
 
192 / 10 (1) +
Регистрация: 11.08.2006
Мы говорим о том моменте когда я с клиентом больше не буду работать.
И предположим он скачал набор объектов - и опеределенные данные будут попадать в эту скачанную таблицу с помощью скачанного кодюнита. В таблице не обязательно будет поле USER, куда автоматически будет проставляться имя пользователя который запускал этот кодюнит. Поэтому есть такая необходимость в создании Логирования любого кодюнита.

Ну, я так понимаю что Вы не подскажите в какую смторону копать , что бы произвести запись кода в готовый кодюнит ?
Старый 15.01.2007, 13:34   #11  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Цитата:
Сообщение от art Посмотреть сообщение
Ну, я так понимаю что Вы не подскажите в какую смторону копать , что бы произвести запись кода в готовый кодюнит ?
Ищите другой вариант реализации задачи. Этот неприемлем.
Старый 15.01.2007, 13:35   #12  
NeNavision_imported is offline
NeNavision_imported
Участник
Аватар для NeNavision_imported
 
241 / 10 (1) +
Регистрация: 12.08.2005
Если с клиентом не будете работать вы, будет работать кто-то другой.
Цитата:
Ну, я так понимаю что Вы не подскажите в какую смторону копать , что бы произвести запись кода в готовый кодюнит ?
Допустим вы знаете как писать код. Но вы никогда не узнаете куда писать для какогото произвольного кодюнита клиент будет выбирать какую-то функцию из списка? Позовет разработчика 100%. (заплатит 100 баксов зато это будет работать)
Отсюда вывод - это не нужно, т.к. разработчик легко вставит 1 строку вызова функции логирования.
Напишите лучше толковое описание своих наработок, чтобы другие не мучались
__________________
Должен остаться только один.
Старый 15.01.2007, 13:45   #13  
art06 is offline
art06
Участник
Аватар для art06
 
192 / 10 (1) +
Регистрация: 11.08.2006
Цитата:
Сообщение от Fordewind Посмотреть сообщение
Берем любимый наш Code Coverage и:
1. прогоняем один раз критическую точку, в качестве администратора - например, учет
2. идем в Code Overview, заблаговременно "научив" систему запоминать указанные строки кода в отдельную таблицу. И указываем строки, которые система послушно запоминает.
3. В процессе работы пользователя запущен Code Coverage. Через какое-то время (периодически)запускается специальный кодеюнит, который сравнивает строки в текущем Code Coverage и сверяет их с запомненными ранее. Если есть совпадение, то пишем лог в таблицу или внешний файл.

Над этим уже думал - только получается что сравнение может занять ОЧЕНЬ много веремени.

Была еще другая идея(с еще большим количеством вопросов).
1.Выбираем СU.
2.Выбираем функцию из этого СU
3.Выгружаем весь СU в txt файл
4.Ищем подстроку с названием функции и вставляем строчку программы для логирования
5.Втягиваем txt в базу.

И очень много вопросов появляется в пунктах 2,3,5.
Старый 15.01.2007, 18:31   #14  
Corleone is offline
Corleone
Участник
 
355 / 10 (1) +
Регистрация: 27.05.2004
Адрес: London
Цитата:
Сообщение от art Посмотреть сообщение
То есть, например, клиент хочет следить за тем кто и когда из пользователей запускал учет покупки.
По моему для этого достаточно логировать таблицы.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:58.