Имя: Пароль:
1C
1С v8
Узнать разницу в данных
0 UFO
 
22.04.15
14:10
Есть не типовая конфигурация, хочется получить отчет по разнице в данных. Допустим: сделали снимок базы на момент времени, хатем запускается, делается один или несколько документов и в итоге: надо получить результат, что и где изменилось, что добавилось.. что создавалось... Есть возможность как то получить инфу такую, особенно по регистрам?
1 KrabCore
 
22.04.15
14:10
журнал регистрации?
2 UFO
 
22.04.15
14:13
ПРобую.. посмотрим что  он там выведет мне
3 ХардHard
 
22.04.15
14:15
(0) А зачем?
4 Лефмихалыч
 
22.04.15
14:16
(0) по каждому отдельному регистру/документу/справочнику - чобынет. Просто выполнить один и тот же запрос к текущей базе и к копии и потом полное внешнее соединение с условием ЕСТЬNULL() ЕСТЬ NULL или <>

для "что и где изменилось, что добавилось.. что создавалось..." тоже можно, но за конечное время оно не выполнится в общем случае
5 ХардHard
 
22.04.15
14:19
Помню тоже хотели чтобы я версионирование к регистру сведений приделал , а потом я уволился.(
6 UFO
 
22.04.15
14:22
Не.. нету конкретики
7 UFO
 
22.04.15
14:23
Я пытаюсь разобраться в конфигурации, что и как где куда записывается... мне дали отчет состряпать, но трассировать документы - долго, хотелось бы увидеть какие данные и куда у него запеисываются
8 UFO
 
22.04.15
14:25
Некоторые вещи нопонятны. Допустим саздался документ, потом он проводится, и в зависимости от условий он по разному проводится, вот я и хочу получить результат: куда и что он записывает в зависимости что у него в шапке записано
9 kosts
 
22.04.15
14:26
(8) Отладчик есть
10 UFO
 
22.04.15
14:26
но трассировать документы - долго,
11 ХардHard
 
22.04.15
14:26
(8) Обработка по тестированию функционала? Слышал есть такие .
12 UFO
 
22.04.15
14:27
Там обработка проведения несколько сотен строк
13 piter3
 
22.04.15
14:27
(10) с чего решил,что твой вариант быстрее?
14 UFO
 
22.04.15
14:28
(13) а какой мой вариант?
15 UFO
 
22.04.15
14:30
Хотелось бы что бы получился типа текстовик:
Регистр накопления такой-то:
дата время регистратор измерниетакое измерениедругое ресурс1 ресурс2
и т д
16 piter3
 
22.04.15
14:31
(14) если не (8) от не понимаю честно говоря.возьмите документы и выведите в какие регистры они пишут движения.
17 Лефмихалыч
 
22.04.15
14:32
(15) и что ты будешь делать с этой информацией?
18 UFO
 
22.04.15
14:32
ну вот открыл я конфу
создал документ, провел
теперь как посмотреть в какие регистры он все записал
19 UFO
 
22.04.15
14:34
В его движениях около 30 регистров ипользуется
мне надо в какие регистры он записывает и что? просто переключатьсямежду каждым и выводить список мутороно это
20 ДенисЧ
 
22.04.15
14:34
(18) В жр есть эта информация
21 UFO
 
22.04.15
14:34
Нету
22 ДенисЧ
 
22.04.15
14:35
(21) Какие регистры изменились - есть
23 UFO
 
22.04.15
14:36
Спасибо.. это и дураку понятно.. мне надо вывести сразу все регистры и какие числа там записаны
24 UFO
 
22.04.15
14:36
а не прыгать с регистра на регистр
25 ДенисЧ
 
22.04.15
14:36
(23) в типовых есть отчёт по движениям документа
26 piter3
 
22.04.15
14:36
(21) а включить жр
27 UFO
 
22.04.15
14:38
Да нету в жр нужной инфы
там только указывается какой документ да в какой регистр.. и что изменено или создано.. а числа числа то где?
28 Cyberhawk
 
22.04.15
14:44
Выполни запрос по движениям регистров (с объединением), где регистратор - твой документ. Ну а если тебе еще и регистры сведений подавай, то борода
29 UFO
 
22.04.15
14:50
Угу.. только так и придется... хотел что нить готовое найти.
30 Лефмихалыч
 
22.04.15
14:56
(18) зачем?
31 bolobol
 
22.04.15
15:01
Ну, блин, задача...
Подписка ПередЗаписью - покажет что и куда записалось - в каком нужно виде - в таком и записываем. Всего делов - на пол дня. Заодно и версионирование появится)
32 ам794123
 
22.04.15
15:21
накропал на коленке:

// движения по регистрам накопления за последний час
Запрос = Новый Запрос();
Дедлайн = ТекущаяДата() - 60*60;
Запрос.УстановитьПараметр("Период", Дедлайн);
Для Каждого Регистр Из Метаданные["РегистрыНакопления"] Цикл
    Сообщить("=== Движения по регистру: " + Регистр.Имя);
    
    Запрос.Текст = "ВЫБРАТЬ
    |    Регистр.Период,
    |    Регистр.Регистратор
    |ИЗ
    |    РегистрНакопления." + Регистр.Имя + " КАК Регистр
    |ГДЕ
    |    Регистр.Период > &Период");
    
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        Сообщить("  ... Документ: " + Строка(Выборка.Регистратор));
    КонецЦикла;
КонецЦикла;
33 DrShad
 
22.04.15
15:22
полный план обмена предлагали?
34 UFO
 
22.04.15
15:29
Спасибо ребята! (32)
35 Serg_1960
 
22.04.15
15:55
(32) Мимо. Не в тему (0). Если автор "сделал снимок", а потом что-то изменили в базе - обработки сравнения двух баз автору нужно гуглить. Обычно сравнивают только ссылочные объекты, но автору никто не мешает дописать обработку для сравнения движений документов.
36 Torquader
 
23.04.15
00:47
Делаем BackUp, разворачиваем отдельно и по OLE в него заходим - далее - перебор метаданных и сравнение объектов.
37 Вася Чез
 
23.04.15
02:25
Была похожая задача, выгружал движения в xls, потом загружал в консолидацию и там сравнивал.
38 mistеr
 
23.04.15
03:17
(23) Выгрузи документ в XML с движениями, там все видно.

Ну и отчет по движениям должен быть, уже говорили.
39 Web00001
 
23.04.15
04:40
Была подобная задача, переделывал движения документа.
Там вроде все просто, писать не понадобилось ничего. Штатный отчет по движениям, до - сохранить в mxl(не путать с xml) штатный отчет после. Файл - сравнить файлы. Готово.
40 UFO
 
23.04.15
08:00
Нашел в упп движения документа по регистрам. То что нужно.
41 dmpl
 
23.04.15
08:50
(0) Варианты:
1. Включить версионирование.
2. Анализировать журнал SQL.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший