Ведение контроля изменений документов #124986


#0 by sanches2
В инете прежний программер выкопал код с помощью которго можно вести контроль изменений в документе. Но не было возможности смотреть что поменяли в ТЧ документа, т.е велся контроль на реквизитами шапки,ощими.Я добавил свой код который позволяет посмотреть что изменили,но...
#1 by sanches2
В ТаблИзм хранятся изменения общих реквизитов, т.е если их не меняли, то и таблица пустая и запись не производится, далее идет мой код в ТаблицаИзменений хранится номенклатура,количество,цена.В итоге если прдеварительно не сделать изменения в общих реквизитах, то в справочник не добавляются изменения по номенклатуре, а если сделать, то конотроль идет хорошо,почему таое могет быть?
#2 by sanches2
Да, мой справочник СпрЗаписьТЧ подчинен СпрИстория
#3 by sanches2
Почему если не происходит запись в справочник СпрЗапись, не записываются мои данные?Они между собой напрямую никак не связаныВот структура справочнико следящих за изменением:------Лог(СпрЛог)------+ему подчинен -----История(СпрИстория)----              +ему подчинен Запись(СпрЗапись)и мой спр ЗаписьТЧДокумента(СпрЗаписьТЧ)
#4 by Kalyan
А код полностью привести слабо? Типа где СпрЗаписьТЧ.Записать и т.п.
#5 by Sasha
Посмотри, откуда и как вызывается эта процедура. Возможно есть условие на изменение общих реквизитов, тогда и происходит запись, в самой процедуре вроде все верно...
#6 by sanches2
Да нет, не слабо, читать та вам лень будет :). Ну да ладно:
#7 by sanches2
Ента процедура вызывается при закрытии документа, и в нее передаются таблицы с изменениями.Таблицы постоены правильно(в отладчике проверял).Непонятно почему у меня в справочник записываются неверные данные если в СпрЗапись неидет запись???
#8 by Sasha
(+4)Возможно в доке есть конструкция типа:
#9 by sanches2
Да это уже изменил :)Я в отладчике в этой процедуре уже просмотрел значения из своей ТЗ они там есть. Она вызывается и моя ТЗ туда передается...
#10 by Sasha
"Непонятно почему у меня в справочник записываются неверные данные если в СпрЗапись неидет запись???" - что значит неверные данные...раньше свидетель давал показания, что "если не происходит запись в справочник СпрЗапись, не записываются мои данные?" - это две совершенно разные вещи :-)
#11 by sanches2
Тьфу блин, извиняюся, все работает, это в обработке которая была для просмотра изменений я где-то ошибся. Щаз по своей оьработке посмотрел, там все фиксируется... :)))
#12 by Чучундер
А отслеживается ли удаление/добавление строк в ТЧ дока?А если удалили строку в середине, поменяли в строке реквизиты - в протоколе изименений будет внятно и понятно что строка удалена и ревквизиты изменились?А если усугублено что сначала пересортировали ТЧ, а потом поменяли реквизиты - видно все будет правильно?
#13 by sanches2
Я контролирую ТЧ так: ПриУдаленииСтроки                      ПриОкончанииРедактированияСтрокии усе..А на пересортировку ТЧ мне усеравно :)
#14 by kauksi
возьми тут алгоритм Дениса (DNG) Горбунова http://www.mycgiserver.com/~gorbunov/algo/doclog.htmи не мучайся
#15 by sanches2
А у меня строчек кода меньше, но всеравно спасибо, может в другом месте пригодится :)
#16 by sanches2
Щаз дорабатываю форму отчета по изменениям. Раньше выводил прредставление документа сразу из запроса (глПредставлениеДокумента(запрос....), было хорошо, теперь перед тем как выводить отчет в таблицу заношу данные из запроса в ТЗ (Запрос.Выгрузить(ТЗ)), дак вот если при организации цикла после манипуляций по этой ТЗ, вызывать (глПредставлениеДокумента(ТЗ.Лог)то получаются пустые строки в таблице. В отладчике посмотрел, что ТЗ.Лог - тип значения справочник, а как из этого спарвочника получить документ?
#17 by sanches2
Запрос имеет вид:
#18 by sanches2
Ну вроде так и должно быть, что справочник, а почему тошда когда я напрямую через запрос выводил имя документа, то это был документ?
#19 by sanches2
А, буду ЛогДо использовать,так работает....
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С