v7: 1С 7.7 ТиС. Удалить определенных контрагентов и номенклатуру. #672228


#0 by multilate
1С 7.7 ТиС. Нужно как-то найти в базе всех контрагентов и всю номенклатуру, которые не использовались в документах в 2013 году. Т.е. все старые элементы справочника, которые использовались только до 2013 года. Подскажите, пожалуйста, как их можно найти? Вот нашел код: Думаю с помощью него удалить все документы 2012 года. После чего пометить ВСЕ  справочники на удаление и я предпологаю, что он мне даст удалить контрагентов и номенклатуру только ту, что была использована до 31.12.2012 года. Соответственно, все что останется это и есть все контрагенты и номенклатура, которая используется в 2013 году. Как думаете, получится ли?:)
#1 by Godofsin
Получится. И куча битых ссылок тоже получится
#2 by 1Сергей
НайтиСсылки(<Объекты>,<Ссылки>)
#3 by Базис
Документы 2012 и ранее должны остаться?
#4 by Базис
Перечитал, понял, отвечаю. Не удаляй документы непосредственно, остальное правильно придумал - и у тебя штатно удалиться сможет только то, что не сыграло в этом году.
#5 by Cube
Ну, допустим, получилось, дальше что? Остатков нет, как работать дальше в такой базе?
#6 by multilate
Мне не нужно работать в этой базе. Моя цель найти старых контрагентов и старую номенклатуру, которой не пользуются в 2013 году. До меня кто-то там перенес все справочники и остатки из ТиС в УТ 11. Теперь же меня попросили найти эти старые справочники в УТ 11 и удалить их оттуда. Но т.к. документов в УТ 11 нету искать их приходится в ТиС.
#7 by Андрей_Андреич
Насчет пометить все справочники на удаление - осторожнее. Дапустим, номенклатура не удалится и ты потом отмегишь пометку удаления. Но при этом удалятся подчиненные справочник. Допустим, цены, а за это будет ай-яй-яй.
#8 by Андрей_Андреич
Тогда снимается
#9 by Злопчинский
#10 by multilate
А как такой вариант, без удаления. ДокПрием.ВыбратьДокументы(01.01.2013, 31.12.2013); //Здесь задаю период Пока ДокПрием.ПолучитьДокумент=1 Цикл Вроде как тоже найду всех контрагентов, которые используются в 2013 году? Метод ДокПрием.ВыбратьДокументы(01.01.2013, 31.12.2013); выберает ведь абсолютно все документы за 2013 год? А дальше можно перебором номенклатуру в каждом документе тоже в файл записывать.
#11 by Darych
а как насчет запроса?
#12 by Андрей_Андреич
Ну если нужен список используемых в 2013 году - отчет по взаиморасчетам и по движениям товаров за 2013 год. Не?
#13 by 1Сергей
чем тебе не понравилось?
#14 by Dmitrith
Я бы засунул всю номенклатуру в ТЗ, потом прошелся по табличным частям документов за период, выставляя флаг в ТЗ. На основании получившихся в ТЗ без флага удалял бы их.
#15 by Злопчинский
1. распечатай реестр реализаций и поступлений за нужный период. в нем штатно выводится контрагент. - такая распечатка есть штатно в ТиСе (если надо - добавь в реест другие доки по контрагентам в засимости от тових хотелок). . 2. Воспользовавшись универсальной печатью справочников (с диска ИТС, обычно у вменяемых эта обработка стоит, см. Меню-Сервис-ДопВозможности- Универсальная печать справочников) - получи список ВСЕХ клиентов. . 3. списки из 1 и 2 сохрани в эксель, и штатными экселевскими средствами "скрести" их (например функцией ВПР или другим способом) - получишь разницу списков. то есть подсписок. . 4. По этому подсписку - ручками или обработкой универсального подбора - формируешь список и нужных клиентов и делаешь с ним что надо... . самый сл.пункт = 4, так как по контрагентам есть куча подчиненных справочников
#16 by Злопчинский
можно и так, но надо учесть например, что реализации на комиссию во взаиморасчетах никак не отражаются - надо подтягивать данные из отчета по комиссионерам... это что навскидку вспомнил
#17 by Lazy Stranger
имхо проще собрать в список значений всех использовавшихся в 2013 контрагентов и потом вывести список тех, которые в этот список не попали (тоже самое для номенклатуры)
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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