|  20.11.2006, 12:44 | #1 | 
| Участник | 
			
			Нав 3.6 Есть большой отчёт осуществляющие финучёт сбеестоимотсти. Требуется вести некоторые записи в табличку-лог в процессе выполнения, но так, чтоб в случае ошибки записи в лог-табличке не откатились. Навиженский COMMIT я так понимаю не подходит, т.к. оно сбрасывает ВСЮ текущую транзакцию, а даже если я его размещаю в триггере OnInsert лог-таблички, то это всё та же транзакция. Как решить проблему? Подозреваю, что только ведением логов на через SQL, но это изврат ИМХО | 
|  | 
|  20.11.2006, 13:40 | #2 | 
| Участник | 
			
			Создайте single instance codeunit (50000), объявите в нем текстовый массив и 2 функции ДобавитьВЛог (в ней заполняем массив) и ЗаписатьВБазу (содержимое массива - в таблицу). В кодеюните Inventory Posting To G/L вставьте вызовы ДобавитьВЛог. Создайте еще один кодеюнит (50001) - на OnRun: report.runmodal(report::"Post Inventory Cost to G/L"); Вызов отчета переделайте таким образом: If not codeunit.run(50001) then codeunit50001.ДобавитьВЛог. | 
|  | 
|  20.11.2006, 13:47 | #3 | 
| Участник | 
			
			в файл пишут в таких случаях
		 | 
|  | 
|  20.11.2006, 13:53 | #4 | 
| Участник | 
			
			2rmv Спасибо, действительно классный метод, только вот теряются сообщения об ошибках работы отчёта. В случае если руками вызывается ERROR,то ладно-можно передать текст в лог, а как быть если оно в каком-либо непредсказуемом месте вывылится? Да про файл это понятно, но этот вариант плохой. Хочется именно в табличку | 
|  | 
|  20.11.2006, 14:26 | #5 | 
| Участник | Цитата: 
		
			Сообщение от rmv
			   Создайте single instance codeunit (50000), объявите в нем текстовый массив и 2 функции ДобавитьВЛог (в ней заполняем массив) и ЗаписатьВБазу (содержимое массива - в таблицу). В кодеюните Inventory Posting To G/L вставьте вызовы ДобавитьВЛог. Создайте еще один кодеюнит (50001) - на OnRun: report.runmodal(report::"Post Inventory Cost to G/L"); Вызов отчета переделайте таким образом: If not codeunit.run(50001) then codeunit50001.ДобавитьВЛог.   | 
|  | 
|  20.11.2006, 14:28 | #6 | 
| Участник | 
			
			Да то что временные или не временные - это уже детали. С этим я и са мразберусь   Как бы сообщения не терять об ошибках? Подозреваю, что никак. Выходит надо делать, чтоб через SQL писалось. | 
|  | 
|  20.11.2006, 14:41 | #7 | 
| Участник | |
|  | 
|  22.11.2006, 13:24 | #8 | 
| Участник | 
			
			Почему с файлом вариант плохой?! если есть системность запуска финучёта, можно подтягивать данные из файла в таблицу автоматом с помощью DTS | 
|  | 
|  24.11.2006, 09:51 | #9 | 
| Участник | 
			
			Ну просто таблицей гораздо удобнее и надёжнее. Проще анализировать и нге надо ничгео никуда пергонять - всё и так есть. Уже сделал чтоб писалось через SQL-запросы
		 | 
|  | 
|  07.12.2006, 09:43 | #10 | 
| Участник | 
			
			Подскажи пож-ста, где и каким образом ты сделал через SQL- запросы.
		 | 
|  | 
|  07.12.2006, 11:26 | #11 | 
| Участник | |
|  |