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

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

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

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

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

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

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

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

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

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

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


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