|
v7: 1С 7.7 ТиС. Удалить определенных контрагентов и номенклатуру. | ☑ | ||
---|---|---|---|---|
0
multilate
09.07.13
✎
13:11
|
1С 7.7 ТиС. Нужно как-то найти в базе всех контрагентов и всю номенклатуру, которые не использовались в документах в 2013 году. Т.е. все старые элементы справочника, которые использовались только до 2013 года. Подскажите, пожалуйста, как их можно найти?
Вот нашел код: Док = СоздатьОбъект("Документ"); Док.ВыбратьДокументы(ДатаНач,ДатаКон); ш=0; НачатьТранзакцию(); Пока Док.ПолучитьДокумент()=1 Цикл Док.Удалить(1); ш=ш+1; Если ш>= 200 Тогда ЗафиксироватьТранзакцию(); НачатьТранзакцию(); ш=0; КонецЕсли; КонецЦикла; ЗафиксироватьТранзакцию(); Думаю с помощью него удалить все документы 2012 года. После чего пометить ВСЕ справочники на удаление и я предпологаю, что он мне даст удалить контрагентов и номенклатуру только ту, что была использована до 31.12.2012 года. Соответственно, все что останется это и есть все контрагенты и номенклатура, которая используется в 2013 году. Как думаете, получится ли?:) |
|||
1
Godofsin
09.07.13
✎
13:12
|
Получится. И куча битых ссылок тоже получится
|
|||
2
1Сергей
09.07.13
✎
13:14
|
НайтиСсылки(<Объекты>,<Ссылки>)
|
|||
3
Базис
naïve
09.07.13
✎
13:15
|
Документы 2012 и ранее должны остаться?
|
|||
4
Базис
naïve
09.07.13
✎
13:17
|
Перечитал, понял, отвечаю. Не удаляй документы непосредственно, остальное правильно придумал - и у тебя штатно удалиться сможет только то, что не сыграло в этом году.
|
|||
5
Cube
09.07.13
✎
13:18
|
(0) Ну, допустим, получилось, дальше что? Остатков нет, как работать дальше в такой базе?
|
|||
6
multilate
09.07.13
✎
13:22
|
Мне не нужно работать в этой базе. Моя цель найти старых контрагентов и старую номенклатуру, которой не пользуются в 2013 году. До меня кто-то там перенес все справочники и остатки из ТиС в УТ 11. Теперь же меня попросили найти эти старые справочники в УТ 11 и удалить их оттуда. Но т.к. документов в УТ 11 нету искать их приходится в ТиС.
|
|||
7
Андрей_Андреич
naïve
09.07.13
✎
13:22
|
(0) Насчет пометить все справочники на удаление - осторожнее. Дапустим, номенклатура не удалится и ты потом отмегишь пометку удаления. Но при этом удалятся подчиненные справочник. Допустим, цены, а за это будет ай-яй-яй.
|
|||
8
Андрей_Андреич
naïve
09.07.13
✎
13:23
|
(6) Тогда (7) снимается
|
|||
9
Злопчинский
09.07.13
✎
13:24
|
посмотри, возможно пригодится
http://infostart.ru/public/20766/ |
|||
10
multilate
09.07.13
✎
13:26
|
А как такой вариант, без удаления.
ДокПрием.ВыбратьДокументы(01.01.2013, 31.12.2013); //Здесь задаю период Пока ДокПрием.ПолучитьДокумент()=1 Цикл Контрагент = ДокПрием.Контрагент; //и даьше записываю их в строчку в какой-нибудь текстовый файл КонецЦикла; Вроде как тоже найду всех контрагентов, которые используются в 2013 году? Метод ДокПрием.ВыбратьДокументы(01.01.2013, 31.12.2013); выберает ведь абсолютно все документы за 2013 год? А дальше можно перебором номенклатуру в каждом документе тоже в файл записывать. |
|||
11
Darych
09.07.13
✎
13:28
|
(10) а как насчет запроса?
|
|||
12
Андрей_Андреич
naïve
09.07.13
✎
13:30
|
(10) Ну если нужен список используемых в 2013 году - отчет по взаиморасчетам и по движениям товаров за 2013 год. Не?
|
|||
13
1Сергей
09.07.13
✎
13:30
|
(10) чем тебе (2) не понравилось?
|
|||
14
Dmitrith
09.07.13
✎
13:32
|
Я бы засунул всю номенклатуру в ТЗ, потом прошелся по табличным частям документов за период, выставляя флаг в ТЗ. На основании получившихся в ТЗ без флага удалял бы их.
|
|||
15
Злопчинский
09.07.13
✎
14:25
|
(10)
1. распечатай реестр реализаций и поступлений за нужный период. в нем штатно выводится контрагент. - такая распечатка есть штатно в ТиСе (если надо - добавь в реест другие доки по контрагентам в засимости от тових хотелок). . 2. Воспользовавшись универсальной печатью справочников (с диска ИТС, обычно у вменяемых эта обработка стоит, см. Меню-Сервис-ДопВозможности- Универсальная печать справочников) - получи список ВСЕХ клиентов. . 3. списки из 1 и 2 сохрани в эксель, и штатными экселевскими средствами "скрести" их (например функцией ВПР или другим способом) - получишь разницу списков. то есть подсписок. . 4. По этому подсписку - ручками или обработкой универсального подбора - формируешь список и нужных клиентов и делаешь с ним что надо... . самый сл.пункт = 4, так как по контрагентам есть куча подчиненных справочников |
|||
16
Злопчинский
09.07.13
✎
14:26
|
(12) можно и так, но надо учесть например, что реализации на комиссию во взаиморасчетах никак не отражаются - надо подтягивать данные из отчета по комиссионерам... это что навскидку вспомнил
|
|||
17
Lazy Stranger
09.07.13
✎
14:30
|
имхо проще собрать в список значений всех использовавшихся в 2013 контрагентов и потом вывести список тех, которые в этот список не попали (тоже самое для номенклатуры)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |