Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Удаление связанных документов в 1с77 торговля склад

v7: Удаление связанных документов в 1с77 торговля склад
Я
   VBMADD
 
29.12.12 - 18:37
Привет братьям по разуму!
Начальника дал задачу - удалить документы по всем видам документов из базы за определенный промежуток времени, дабы уменьшить размер базы 1с77 торговля склад.
Если просто использовать что-то вроде этого последовательно по всем видам документов
===========================================
  Док=СоздатьОбъект();
  Док.ВыбратьДокументы(Дата1,Дата2); 
  Пока Док.ПолучитьДокумент()=1
       Док.СделатьНепроведенным();
       Док.Удалить(); 
  КонецЦикла;
==========================================
Тогда после остаются некоторые документы которые были связаны с удаленными и 1с выдает ошибку при входе в соответствующий журнал документов.
Подскажите как правильно (в какой последовательности и как определить связанные) нужно удалять документы за период вместе с связанными с ними документами, чтобы потом 1с не выдавала ошибку?

Спасибо всем кто откликнулся.
 
 
   Фокусник
 
1 - 29.12.12 - 18:39
(0) про остатки не забыли?
   mehfk
 
2 - 29.12.12 - 18:41
курить СП на ВыбратьПодчиненныеДокументы

6 лет что делал?
   mehfk
 
3 - 29.12.12 - 18:42
(1) тссссс, про это вопроса не было.
   VBMADD
 
4 - 29.12.12 - 18:43
(1) Что имеется ввиду про остатки...
Если я удаляю Документ.Чек по которому продан товар то остаток этого товара я так полагаю увеличится на единицу?
   Утконос
 
5 - 29.12.12 - 18:44
тебе не легче НОВУЮ БАЗУ сделать и в нее перенести остатки
а старую для Истории оставить
   VBMADD
 
6 - 29.12.12 - 18:45
(2) Есть 7 видов документов с какого вида начинать удалять то...
   Утконос
 
7 - 29.12.12 - 18:45
+(5) да и код у тебя какой-то очень стремный
как минимум две ошибки глобальных
   Утконос
 
8 - 29.12.12 - 18:46
(6) Format C:\
   VBMADD
 
9 - 29.12.12 - 18:47
(5)Не не легче, так как база тянется с1999 года по 2012 год,
а надо сделать с 2007 года по 2012 год...
как будто 1999-2006 вообще не было... во как
   VBMADD
 
10 - 29.12.12 - 18:49
(7) Я код привел формальный для порядка...
потому он(код) ни на что не претендует.
 
 Рекламное место пустует
   Mikeware
 
11 - 29.12.12 - 18:50
не стоит начинать тему с оскорблений...
   Утконос
 
12 - 29.12.12 - 18:50
(9) Сначала сделай бекап.
   VBMADD
 
13 - 29.12.12 - 18:52
(11) И в помыслах близко не было, извини хриса ради ежели че не так не принимай близко к сердцу...
   Утконос
 
14 - 29.12.12 - 18:53
(13) 7 видов документов каких ?
и по какому принципу решил удалять ?
   Mikeware
 
15 - 29.12.12 - 18:53
(13) однако первыми же словами....
   Mikeware
 
16 - 29.12.12 - 18:53
(14) случайным образом, есссно...
   Утконос
 
17 - 29.12.12 - 18:53
Удалить(0)
   abfm
 
18 - 29.12.12 - 18:55
Т.Е. Вы пытаетесь обрезать базу удаленим документо?
   VBMADD
 
19 - 29.12.12 - 18:58
(12) сделал уже, не понятно как тянуть документы по цепочке на удаление.
Ведь если удаляю документ на товар, который поступил аж в 1999 году а продан был сегодня в 2012 году то чек повисает в воздухе так как документ прихода товара удален, вот че не могу понять с чего начинать удаление.

(18) ОДНОЗНАЧНО!!!
   VBMADD
 
20 - 29.12.12 - 18:59
(17) Удалить(0) - не уменьшит размер базы я так думаю...
   VBMADD
 
21 - 29.12.12 - 19:00
(18) А как же еще можно обрезать базу...
   VBMADD
 
22 - 29.12.12 - 19:03
В базе сейчас по моим прикидкам порядка 500000 документов
накопилось с 1999 по 2012гг надо оставить половину - т.е. с 2007г по сейчас 2012г
   Базис
 
23 - 29.12.12 - 19:06
Процедура называется "свёртка базы", большого эффекта не даст, гугл тебе в помощь.

Да - когда будешь сдавать - получи подпись заказчика под соответствием остатков.
   abfm
 
24 - 29.12.12 - 19:07
база на 7.7  ОУ(Торговля)?
   VBMADD
 
25 - 29.12.12 - 19:09
(23) Спасибо, но это не годится, т.к. конфигурация совсем не стандартная,
поэтому сверткой то не обойтись в этом случае...
надо как то при помощи удаления документов изголиться...
   VBMADD
 
26 - 29.12.12 - 19:15
В конфигурации используются вот такие виды документов:
//=====================================
 
Док = СоздатьОбъект("Документ.Чек");
Док = СоздатьОбъект("Документ.ВозвратКомитенту"); 
Док = СоздатьОбъект("Документ.Расписка");
Док = СоздатьОбъект("Документ.Уценка");
Док = СоздатьОбъект("Документ.Скупка");
Док = СоздатьОбъект("Документ.ПриходНаКомиссию");
 //===========================================
   Утконос
 
27 - 29.12.12 - 19:20
(26) получаешь остатки на 01.01.2007
ввод остатков
а остальнос с 1999 по 2006 удалеешь
делов раз два и обчелся
   VBMADD
 
28 - 29.12.12 - 19:22
Ясно, что нужно начинать с Чеков и Расписок с 1999 по 2006 годы а от этих документов уже искать как то связанные с ними документы типа Уценка, ВозвратКомитенту потом уже Скупка и Приход на Комиссию и удалять уже эти документы
   abfm
 
29 - 29.12.12 - 19:24
Данные  регистрах или где?
   VBMADD
 
30 - 29.12.12 - 19:26
(27) Спасибо, но Это годится для стандартной ТиС, а тут остатки кроме этого связаны с Поставщиком(Комиссионером) товара которому нужно выплатить денюжку после продажи его товара, поэтому ввод остатков мне кажется здесь не поможет решению этого вопроса...
   VBMADD
 
31 - 29.12.12 - 19:27
(29) В регистрах
   abfm
 
32 - 29.12.12 - 19:31
Есть служебный документ (его надо добавить) ввод остатков по регистру, его надо заполнить , все ненужное удалить. Надеюсь Вам это поможет.
   abfm
 
33 - 29.12.12 - 19:35
(27) извиняюсь не увидел. Но в моем варианте не все измерения важны.
 
 
   abfm
 
34 - 29.12.12 - 19:36
И с авансами не пройдет.
   KRV
 
35 - 29.12.12 - 19:42
и тут пятнично...
   VBMADD
 
36 - 29.12.12 - 19:50
В данном случае нужно как то реализовать обрезку базы именно при помощи удаления документов связанных между собой цепочкой взаимозависимости
просто нет пока понимания четкого алгоритма поиска взаимосвязей документов, чтобы последовательно проходя по цепочке эти документы удалять. ясно только одно что нужно начинать с последнего документа в цепочке и потом двигаться к началу цепочки и последовательно удалять документы.
   VBMADD
 
37 - 29.12.12 - 19:52
Может как то выбирать цепочку документов по общему реквизиту типа наименование товара что ли...
   VBMADD
 
38 - 29.12.12 - 19:53
Однако в пробитом чеке может присутствовать несколько наименований товара...
   abfm
 
39 - 29.12.12 - 19:54
Обрезай регистр.
   VBMADD
 
40 - 29.12.12 - 19:56
Либо идти по остаткам товаров и где нулевой остаток по этому товару искать все связанные документы на удаление...относящиеся к заданному периоду...
(39) ... и что это даст?
   abfm
 
41 - 29.12.12 - 19:58
Конечно.
   VBMADD
 
42 - 29.12.12 - 19:58
(39) разъясни по подробней...
   VBMADD
 
43 - 29.12.12 - 20:01
(41) Конечно - это относительно Обрезай регистр?
   abfm
 
44 - 29.12.12 - 20:02
Когда начинают вести учет водять остатки документом ввод по остаткам, партии (главное) , клиенты, банк. касса. и тп. Сформируй их программо, удачи.
   Базис
 
45 - 29.12.12 - 20:41
Автор, ты думаешь - только тебе надо было ускорить нетиповую торговлю???
   Mikeware
 
46 - 29.12.12 - 20:46
(45) автор думать не приучен..
   VBMADD
 
47 - 29.12.12 - 21:21
(45) Не, не мне, это надо директору.
А писал конфу не я, а который автор конфы куды-то слинял с концами, поэтому вот и приходится раскапывать все вручную.
(46) это потехи ради что ли? ...
Предложи что то реально дельное, блесни своим талантом и воздастся тебе по заслугам твоим господом нашим! Лично мне так катца...
   VBMADD
 
48 - 29.12.12 - 21:24
(44)Да не так не получится, конфигурация всамдельная, или очень сильно переделанная ТиС.
Еслиб ТиС была то это понятно так бы и сделал.
   VBMADD
 
49 - 29.12.12 - 21:57
Че та спецов видно маловато здесь нужна то хотябы идея алгоритма...
 
 Рекламное место пустует
   Скользящий
 
50 - 29.12.12 - 22:08
я бы остатки перенес в чистую базу, при сохранении старой базы. При возникновении вопросов переносил бы из старой.
   Paul_Nevada
 
51 - 29.12.12 - 22:09
(27) - отличная идея --- пробуй --- ПОСЛЕ архивного копирования базы данных!!!
   BlackSeaCat
 
52 - 29.12.12 - 22:22
(49) Идея алгоритма такая: выяснить, почему слинял автор конфы и задуматься - а как поступят с тобой?
   Базис
 
53 - 29.12.12 - 22:36
Тебе сделать за деньги и объянить, или издеваться? (Вариант "подсказать" уже не сработал).
   VBMADD
 
54 - 30.12.12 - 01:11
(53) Я так думаю, что ты и за деньги не сумеешь сделать, так как не посмотрев еще самой базы в каком состоянии она находится и самодельную конфигурацию, все не так просто как тебе кажется, а слова писать здесь для пиара ни к чему, лично мне так катца...
   VBMADD
 
55 - 30.12.12 - 01:15
(52)Говорят что пропал, что вроде не обижали, а поступают с человеком так как он этого заслужил
   BlackSeaCat
 
56 - 30.12.12 - 01:20
(54) Ну наконец-то мысль прорезалась! Это я насчет "не посмотрев еще самой базы в каком состоянии она находится и самодельную конфигурацию". Если ты никому ничего не показал - каких советов ждешь? Как лучше подковать сферического коня в вакууме?

(55) То есть, если кого-то ограбили или зарезали - он это заслужил?
   VBMADD
 
57 - 30.12.12 - 01:29
(56) Иди лучше поспи, а...
   Базис
 
58 - 30.12.12 - 17:54
(54) Ваше мнение очень важно для нас :)

Я такие базы сворачивал за гарантированное время. Удачи!
   PALESIA
 
59 - 31.12.12 - 11:18
(0) как вариант, если нужно тупенько удовлетворить начальника:
создать справочник с необходимой структурой и перенаправить на него, а не на доки; зафиксировать остатки, удалить доки и потом залить остатки - правда тут изврат с кодом - вставлять развилку надобно: Если дата > крита Тогда РаботаемПоДокам Иначе РаботаемПоСправочнику КонецЕсли)
   Обработка
 
60 - 31.12.12 - 12:01
(0)
1. Пишешь  обработку которая  сохраняет периодические реквизиты справочников на дату. С типовой обработки можно содрать или переделать на свой лад.
2.Пишешь обработку по свертке регистров или  находишь таковую. Типовая тоже подойдет с переделкой.
3. Пишешь обработку по обнулению реквизитов документов у которых значение вид документ.
4. Собственно обработка удаление документов за период.

Запускай все последовательно и все. Чтобы долго не ждать операцию свертки раздели на этапы и периоды удаления разбей. НУ и конечно постараться на очень шустром сервере это проделать
   Обработка
 
61 - 31.12.12 - 12:03
+ Вообще то типовые обработки по свертке достаточно универсальны. Мойжно пройтись по коду и заремить лищнее или разбить на этапы чтоб оперативы не жрал и свертка долго не длилась
   KRV
 
62 - 31.12.12 - 12:39
ТС идиот.
   Aleksey
 
63 - 31.12.12 - 13:09
(62) И ведь не поспоришь

Хотя его метод заслуживает внимания как пример того как ненадо делать
   Aleksey
 
64 - 31.12.12 - 13:11
По сути он хочет

Есть приход 20 штук товара А
Этот товар был продан 3-м клиентам ИВанов, Петров Сидоров

Автор хочет удалить этот приход и расходы, так как на текующий день товара нет


Вот только вопрос, что делать с деньгами? с кассой, банком?
   Aleksey
 
65 - 31.12.12 - 13:12
Автор лучше не страдай, а делай свертку
   Базис
 
66 - 31.12.12 - 16:24
А чтобы было, чем заняться в праздники - конфа изменялась и частично перепроводилась. соответственно - надо проверить, что изменится после полного перепроведения, и выбрать правильные конечные остатки.
   DEVIce
 
67 - 31.12.12 - 16:37
Вам 31-го больше заняться нечем?
   МимохожийОднако
 
68 - 31.12.12 - 18:48
Начни новую базу с документа Ввод остатков по номенклатуре и взаиморасчетам. Старую базу используй для архивной информации.
   VBMADD
 
69 - 02.01.13 - 12:29
Человек пришел и сдал на продажу(на комиссию) ботинок за 200рублей в 1999 году, но ботинок не продается и висит его приходный документ аж в 2011 году, потом человек этот ботинок забрал в 2012 году и заплатил магазину 20рублей за хранение ботинка в магазине, если удалять всю цепочку документов, то встает вопрос что 20 рублей у магазина появилось из воздуха.
Вот где собака порылась...
   PALESIA
 
70 - 02.01.13 - 14:01
(69) не выноси мозг - и так хреново - строй хранилище старой информации на справочнике - там создать реквизит типа "СтоимостьХранения" - не проблема, да и юзать легко, а периодика тебе поможет с организацией аналога "РегистраСведений" на 8-ке
   VBMADD
 
71 - 02.01.13 - 23:34
(70) О, это трезвая мысля...
надо попробовать.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует