Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Прямое удаление периодики, установленной документами (вопрос закрыт) (число прочтений - 5529 )
rt001
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 82
Зарегистрирован: 31. Января 2013
Прямое удаление периодики, установленной документами (вопрос закрыт)
24. Мая 2013 :: 14:25
Печать  
Есть N-ное кол-во документов, которые устанавливают значения периодических реквизитов справочника. Документ был кривой и каждый раз выполнял установку реквизита, не смотря на то, что устанавливаемое значение не отличается от предыдущего. Т.о. плодились записи. Т.к. все это работало годами, строк в 1sconst стало сами знаете сколько...

Думаю удалить оттуда их прямым запросом, чтобы не перепроводить  документы. По идее не должно же возникнуть никаких проблем после этого?
« Последняя редакция: 04. Июня 2013 :: 05:33 - rt001 »  
Наверх
 
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Прямое удаление периодики, установленной документами
Ответ #1 - 24. Мая 2013 :: 16:21
Печать  
автор Quan, обработка приложена к сообщению :

http://www.itland.ru/forum/index.php?showtopic=13810

Этот инструмент чистит "лишние" периодические реквизиты справочников.
То есть, в ситуации, когда имеется история значений:

13.01.02  Вася
15.02.02  Вася
22.04.02  Вася
24.07.02  Петя
25.07.02  Петя
20.08.02  Юра
31.12.02  Таня
04.01.03  Таня

после обработки останутся лишь значения

13.01.02  Вася
24.07.02  Петя
20.08.02  Юра
31.12.02  Таня

что в большинстве случаев не должно влиять на логику работы системы.


Значения, установленные документами, не удаляются.
Значения, установленные вручную, но оказавшиеся "лишними" из-за значений, установленных документами - удаляются (!).
Если такая логика работы Вас не устраивает, ее (логику) не так уж сложно подрихтовать.

Правильная работа с длинными строками, занимающими несколько записей таблицы _1sconst, маловероятна, т.к. ввиду
отсутствия подобных объектов в моей базе этот формат хранения при разработке не учитывался, а при тестировании - естественно, не тестировался.
Впрочем, есть подозрение,  что такие структуры хоть и существовали во времена v75, но с переходом на v77 отошли в область мифологии.

Системные требования: 1Cv77, MS SQL и 1С++ не очень древних версий.
Более подробно см. www.1c.ru, www.microsoft.com и www.1cpp.ru соответственно.

Порядок работы:
1. Выберите очищаемый справочник.
2. Отметьте в списке очищаемые реквизиты.
Для больших списков полезны кнопочки, позволяющие установить либо снять все отметки.
3. Нажмите кнопку "очистить".
4. Можете закурить. Если успеете.
Если же Вы успеете даже докурить до конца - значит у Вас либо база приличных размеров, либо очень тормозной сервер.

Гарантии.
1. Автор не гарантирует нормальную работу данной программы на DBF-базах
2. Автор вообще не гарантирует нормальную работу данной программы.
3. Автор не несет ответственности ни за прямой, ни за косвенный ущерб, понесеннвй в связи с использованием данной программы.  
4. Автор также не несет ответственности ни за прямой, ни за косвенный ущерб, понесеннвй в связи с неиспользованием данной программы.  

©2006 by Quan
Moscow - Novosibirsk

Distributed as FreeSource GPL
  

HistoryCleanup_001.ert ( 10 KB | Загрузки )

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
rt001
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 82
Зарегистрирован: 31. Января 2013
Re: Прямое удаление периодики, установленной документами
Ответ #2 - 27. Мая 2013 :: 06:43
Печать  
спасибо за обработку и подробную инструкцию!

но для меня очень актуален вопрос удаления периодических реквизитов установленных именно документами без перепроведения.

и прежде чем допиливать эту обработку под свой случай хотелось бы знать о том, есть ли еще какие-то особенности при удалении таких значений или их можно удалять по тому же принципу как ручные? в чем принципиальная разница между ручными записями и "документными", кроме того, что для документных значений указан DOCID... может придется скорректировать ACTNO и LINENO_?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Прямое удаление периодики, установленной документами
Ответ #3 - 27. Мая 2013 :: 07:39
Печать  
В том, что при перепроведении, твоя периодика восстановится
  
Наверх
 
IP записан
 
rt001
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 82
Зарегистрирован: 31. Января 2013
Re: Прямое удаление периодики, установленной документами
Ответ #4 - 27. Мая 2013 :: 07:40
Печать  
Eprst писал(а) 27. Мая 2013 :: 07:39:
В том, что при перепроведении, твоя периодика восстановится


почему? ведь код в модуле уже другой - не делающий лишних записей...
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Прямое удаление периодики, установленной документами
Ответ #5 - 27. Мая 2013 :: 07:57
Печать  
rt001 писал(а) 27. Мая 2013 :: 07:40:
Eprst писал(а) 27. Мая 2013 :: 07:39:
В том, что при перепроведении, твоя периодика восстановится


почему? ведь код в модуле уже другой - не делающий лишних записей...


Если так, то удаляй смело
  
Наверх
 
IP записан
 
rt001
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 82
Зарегистрирован: 31. Января 2013
Re: Прямое удаление периодики, установленной документами
Ответ #6 - 27. Мая 2013 :: 08:00
Печать  
Eprst писал(а) 27. Мая 2013 :: 07:57:
rt001 писал(а) 27. Мая 2013 :: 07:40:
Eprst писал(а) 27. Мая 2013 :: 07:39:
В том, что при перепроведении, твоя периодика восстановится


почему? ведь код в модуле уже другой - не делающий лишних записей...


Если так, то удаляй смело

Очень довольный
спасибо за конструктивный ответ!  Улыбка
  
Наверх
 
IP записан
 
rt001
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 82
Зарегистрирован: 31. Января 2013
Re: Прямое удаление периодики, установленной документами
Ответ #7 - 30. Мая 2013 :: 07:54
Печать  
получается, что нужно еще откорректировать значения поля ACTNO в _1SCONST и ACTCNT в _1SJOURN?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Прямое удаление периодики, установленной документами
Ответ #8 - 30. Мая 2013 :: 08:12
Печать  
На это можешь забить, они только к движениям регистров / проводкам относятся и как правило, ни на что не влияют вообще.
  
Наверх
 
IP записан
 
rt001
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 82
Зарегистрирован: 31. Января 2013
Re: Прямое удаление периодики, установленной документами
Ответ #9 - 30. Мая 2013 :: 09:21
Печать  
т.е. на то что, в _1sconst будут пропуски в этом поле и в журнале каунты уже не будут совпадать с действительностью можно не обращать внимания? Улыбка у меня документы делают и движения регистров и проводки и периодические реквизиты пишут... получается что для периодики это не страшно?

(для общего развития)
интересно, а зачем же они тогда вообще пишутся в _1sconst?
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Прямое удаление периодики, установленной документами
Ответ #10 - 03. Июня 2013 :: 07:15
Печать  
АктНо участвует в уникальном индексе Док в таблице контант.

Так что, добавлять надо аккуратно, а удалять можно не глядя.
  
Наверх
 
IP записан
 
rt001
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 82
Зарегистрирован: 31. Января 2013
Re: Прямое удаление периодики, установленной документами
Ответ #11 - 04. Июня 2013 :: 05:31
Печать  
Satans Claws писал(а) 03. Июня 2013 :: 07:15:
АктНо участвует в уникальном индексе Док в таблице контант.

Так что, добавлять надо аккуратно, а удалять можно не глядя.


спасибо! Очень довольный
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать