Найти элемент справочника в табличных частях документов #306788


#0 by 1Снечег
Нужно вот что: есть элемент справочника, записанный в переменную ТекНоменклатура. есть список типов документов. Нужно найти в табличной части документов ТекНоменклатура и, само собой, добавить ссылку на документ и номер строки в какую-нить ТЗ. Подскажите, пожалуйста, как все это сделать.
#1 by ОбдолбанныйВася
Запросом
#2 by igork1966
Запросом?
#3 by Ёпрст
Тупо - Запросом.
#4 by Shaman100M
#5 by 1Снечег
а если не тупо? просто таких ТекНоменклатура штук 400 и собираются прибывать. а по каждой нужно будет найти все доки, кое-что там поправить, потом записать и потом все доки перепровести. Даже если я сделаю список доков, который сначала наполняется, а потом сворачивается получится вроде как долго. быстрее точно никак?
#6 by sergey198
найтисылки
#7 by 1Снечег
тогда такой еще вопрос. есть НайтиСсылки(<?>,); вот она ищет в метаданных или именно так мне нужно. я просто понял что это программный способ получить допустим все ссылки на объекты типа Номенклатура, к примеру
#8 by 1Снечег
она ищет ссылки именно на элементы справочника?
#9 by Владимир1С
При Проведении анализируй табличную часть, и если в табличной части есть контрольные(по какому нить признаку) элементы, отмечай этот док в справочнике(сразу при проведении). Так раскидаешь время создания списка документов.
#10 by Ёпрст
В предприятии сделай найти ссылки на объект, увидишь, что ищет... а вообще - в описании метода всё вроде как написано.
#11 by sergey198
если тебе нужно получить инфу в каких документах твоя номенклатура..тока непойму нафиг перерывать всю базу что бы понять в каких она документах это если я правельно понял к
#12 by 1Снечег
да, абсолютно правильно понял объясняю из-за чего нужно есть у нас комплексная, в которой отдел снабжения и отдел реализации делают свою работу. плюс там же производство колупает такие документы как заказ-наряды и ПРО. и есть бухгалтерия которая работает в бухии. там само собой ни з-н ни ПРО нет, поэтому поим предшественником была написана обработка, которая грузила все нужные доки для бухии из комплексной. номенклатуру она (обработка) грузила с помощью атрибута номенклатуры СтарыйКод (ссука). Так вот этот старый код был типа равен Номенклатура.Код. но мой предшественник (ссука) не учел что если собъется автонумерация, то такой вот код: ВводНового СтарыйКод=Код такой вот код не учитывает того что пользователь, увидев при создании нового элемента номеклатуры сообщение типа "код не уникальный" введет от балды свой новый код и уже получится что СтарыйКод как бы задвоился. В следствии чего в бухии при перегрузке (которая по этому блять старому коду) происходит задвоение. само собой что это задвоение старых кодов в комплексной убрать просто - всего-то выбрать все элементы и если Код<>СтарыйКод, исправить это. но теперь уже получается что в бухии часть приходов по старым задвоенным, а часть нет. и поэтому некоторые документы резонно не проводятся. так как количественный учет. его можно убрать, как и субконто номенклатура (в сороковом), но это совсем низачет.
#13 by 1Снечег
+ и вот из-за всего этого мне приходится рвать жопу до 20 числа, тк там НДС, и как-то выходить из создавшейся ситуации
#14 by 1Снечег
+ самое западло, что эти проблемы я уже практически решил, но исправить автонумерацию вообще не представляется возможным, тк склад ведет учет по кодам номенклатуры и когда я завожу разговор о том что "давайте один раз инвентаризируем, и все" начинается такой ОР...
#15 by Ёпрст
Переправить коды и вгрузить в бухию, не канает  разве ? ...
#16 by sergey198
опятьже если тебе нужно переывать все доки посмотри как работает метод найти сылки на объект
#17 by 1Снечег
по поводу вот этого из "...В следствии чего в бухии при перегрузке (которая по этому блять старому коду) происходит задвоение..." на самом деле сначала просто путались позиции, когда СтарыйКод был неуникальный. но когда они это заметили (бухи), то попросили исправить. типа хоть цены и нормальные, все равно давайте будет как надо. и вот когда я уже написал обработку, которая выправила СтарыйКод, началось задвоение. такие дела.
#18 by Ёпрст
Или так - Ищещь номенклатуру со сбойным кодом, исправляещь кода, затем запросом вытаскиваещь все документы , где светилась эта номенклатура - выгружаишь только их в бухию ...
#19 by sergey198
заного проставть нумерацию кодов еще можно
#20 by Ёпрст
Ну и накой ему самый тормозной метод сдался? ...
#21 by 1Снечег
в том-то и дело что коды нельзя выправить. долбанный склад тупо против.
#22 by 1Снечег
нет. меня закажут :)
#23 by Shaman100M
от старых кодов уходи... Пользуй код из ЗначениеВСтрокуВнутр(ЭлтСправочника); а счас исправлять - искать эти задвоенные старые коды и по этой номенклатуре. Их много?
#24 by Ёпрст
Не можешь какой реквизит подправить,СтарыйКод что ли? По нему же выгрухка синхрится, или как ? ...
#25 by Shaman100M
Он может быть против, если всю кодировку менять. А если только задвоенные - он д.б. только за, - учет исправляется.
#26 by 1Снечег
тут еще такая фишка что непонятно бывает, какая конкретно позиция была выгружена под каким кодом, тк наименование часто бывает одинаковым, а вот кодов несколько. поэтому я уже написал обработку, которая берет все задвоения (их коды и наименования) из бухии, пишет в файл, потом этот файл прокатывается в комплексной, после чего становится ясно, какие элементы действительно нужно оставить (тк Бухгалтерия.Номенклатура.Код = "Т"+Комплексная.Номенклатура.Код), список этих элементов опять пишется в файл, и потом уже по нему в бухии я нахожу все задвоения в номенклатуре, и подставляю тот элемент номенклатуры во все доки, который соответствует по коду комплексной. чтобы при следующих перегрузках все было ок. ну почти ок, так многие элементы номенклатуры из комплексной с исправленными старыми кодами еще не "всплыли" при перегрузках и не задвоились. поэтому-то как раз нужен не особо тормозной способ. кажется, все.
#27 by Таня
а не судьба готовую обработку с ИТС взять?
#28 by 1Снечег
но после того как я исправил баг, когда из-за сбитой нумерации СтарыйКод как бы "задваивался" (т.е. у многих элементов номенклатуры из комплексной он был один и тот же) и из-за этого многие перегруженные документы в строках получали не ту номенклатуру, случился баг новый. задвоение при перегрузке. т.е. эта обработка смотрела, есть ли элемент с таким кодом ("Т"+СтарыйКод из файла перегрузки) и создавала новый элемент справочника Номенклатура. Все было бы отлично, если бы у нас не велся количественный учет по сороковому счету, т.к. именно из-за этого документы теперь резонно не хотят проводиться. (номенклатура-то новая,а приходы были загружены со старыми СтарыйКод). можно конечно убрать кол. учет и "Номенклатура" из субконто, но это ахтунг, который неизвестно куда заведет.
#29 by 1Снечег
не судьба, она не подойдет потому что в комплексной есть "свои" документы потому что даже если она перегрузит документы (все, вместе с "нашими"), то они не проведутся. количественный учет не даст, тк в этих базах многие доки переправлены (как в бухии, так и в комплексной) и палочки с ноликами не сойдутся
#30 by 1Снечег
в общем, читайте и не забывайте что вопрос был совсем другой. подскажите, пожалуйста, по сабжу, а?
#31 by 1Снечег
я не против, другие против
#32 by Shaman100M
искать точку отсчета, где было все правильно в бухии, поднимать старые архивы, найти последнюю новую номенклатуру в той базе, найти соответствие ей комплексной (номенклатура А, например), далее в комплексной: перекодить старые по всем элементам для которых ЗначениеВСтрокуВнутр(А)>ЗначениеВСтрокуВнутр(ЭлементВыборки); и перегрузить период. Ну, тоньше - в текущей базе удалять загруженные документы за период, номенклатуру по тому же принципу и грузить заново.
#33 by Shaman100M
+ испр. "перекодить старые коды по всем элементам для которых ЗначениеВСтрокуВнутр(А)<ЗначениеВСтрокуВнутр(ЭлементВыборки)
#34 by 1Снечег
да, я думал про похожий вариант, но перегружать период очень не хочется, так практически на 90 процентов где-то они (бухи) доки подправили и получатся нескладушки. поэтому-то и хочу просто обойти все доки и подменить старые элементы справочника Номенклатура на новый, который один. после этого все перепровести и учет сойдется. на мой взгляд так вроде самый безболезненный вариант получится. по кр мере суммы и прочее не тронется. тем более что во многих документах изменен номер, а только по нему можно оследить какой док из компл соотв доку их бухии. в общем, меня все-таки интересует как побыстрее найти все ссылки на элемент справочника в таблчных частях определенных документов
#35 by 1Снечег
в общем-то я пока что вот такой вот запрос написал, буду юзать его:
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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