Обработка по замене реквизитов документов #160477


#0 by Скользящий
Проблема, в типовой бухии (462 релиз) накосячили с договорами, а у них сторнированный НДС, они в этих договорах запутались. Нужно сделать следующее, создать каждому контрагенту в подчиненном справочнике договоров "Новый основной договор" подчиненный этому контррагенту(сделано), а потом во всех документах поменять ссылку на  договор с указанного в документе на этот "новый основной договор". То есть всем выставить основной договор. Существует ли обработка, которая позволяет это сделать? Самому писать обработку времени нет. А то что я нашел на эту тему, требует указания каждого конкретного документа.
#0 by Скользящий
Проблема, в типовой бухии (462 релиз) накосячили с договорами, а у них сторнированный НДС, они в этих договорах запутались. Нужно сделать следующее, создать каждому контрагенту в подчиненном справочнике договоров "Новый основной договор" подчиненный этому контррагенту(сделано), а потом во всех документах поменять ссылку на  договор с указанного в документе на этот "новый основной договор". То есть всем выставить основной договор. Существует ли обработка, которая позволяет это сделать? Самому писать обработку времени нет. А то что я нашел на эту тему, требует указания каждого конкретного документа.
#1 by Токс
Если код не универсально-бешеный у того, что нашел, покажи, а... Можно подправить... Да и написАть быстрее, чем искать...
#2 by romix
replval.ert видел?
#3 by Скользящий
Пока бред получается. :-) Не то.
#4 by account77
Обработка то пишется минут десять, не больше
#5 by Dulsineя
Так тебе и надо! Почувствуй радость жизни, работая во франче
#6 by Скользящий
я с метаданными вообще не работал, и вообще пишу медленно. :-)
#7 by Скользящий
Я тебя тоже люблю.
#8 by Diter
Сколько времени есть на написание обработки?
#9 by Скользящий
До завтрашнего утра.
#10 by Скользящий
Пока из этого что то удобоваримое пытаюсь сделать.
#11 by Токс
Не с фих... но если не спать - успеть можно... ЗЫ Хоть ты и был модератором - щас че-нить накидаем...
#12 by insider
я возможно неверно понял, но можно же выбрать в цикле документы (все), проверять на наличие в шапке опр. реквизита и делать что надо?
#13 by Токс
Я типовые не знаю... Этот договор может быть и в ТЧ и в шапке дока?
#14 by Скользящий
Если у реквизита тип справочник.договора то нужно выбранный договор в этом реквизите заменить на "Новый основной договор" (подчиненный каждому контрагенту)  который я до этого предварительно создал для всех контрагентов обработкой.
#15 by Скользящий
И в шапке и в табличной части.
#16 by КонецЦикла
Мдя... Быстрее будет не париться с метаданными имхо Там будет максимум 5 видов документов основных Потом их перепровести Потом регламентные перепровести (проводки-то изменяться) Поищи для начала в конфигураторе ссылку на спр-к Договора Потом пузомером посмотри сколько доков какого вида Где-то моно и руками ужо исправить
#17 by insider
я предположил, что вероятно реквизит будет называться например "Договор", проверить его наличие просто: то же и для табл. части. осталось знать названия реквизитов
#18 by КонецЦикла
А если ОснДоговор или Основание? Тогда вообще все лопатить и проверять ТипЗначения и Вид?
#19 by Скользящий
Я кажется не с того конца начал, нужно проверять наличие поля контрагент, а потом этому контру в подчиненном справочнике менять договор на "Новый основной договор".
#20 by КонецЦикла
Можешь пролететь так (с названиями)
#21 by insider
в этом случае - да, я не видел росс. типовую бухию - не знаю как там да, конечно
#22 by Скользящий
Сорок три дока.
#23 by insider
ну так названия реквизитов имеются или 43 разных? :)
#24 by Скользящий
есть просто реквизит "Договор", а есть ДоговорНаКомиссию, например, хотя их мало.
#25 by Скользящий
В основном договор, конечно.
#26 by КонецЦикла
Ну тебя ж интересуют доки заполненные... притом которых много
#27 by insider
ну тогда запуливаем в СЗ все варианты и проверяем, тут и писАть нечего...
#29 by Diter
(+28) Блин забыл Док.Записать и в случае если проведён - Док.Провести
#31 by insider
ну тогда добавим еще транзакцию с завершением каждые N доков и обнуление объекта (так, для порядка)
#32 by КонецЦикла
Андрейко, у сомарца и в ТЧ есть договор и называется по-другому иногда Мот имеет смысл разделить доки, где только в шапке; и в ТЧ? Руками набить 2 списка Напихать в список названий варианты названий - перебирать
#33 by Diter
(+31) И как оказалось - проверку на наличие в документ реквизита "Договор" или "ДоговорНаКонсигнацию" ;))
#34 by Diter
Зачем?
#35 by insider
внимательно не читал, пробежался просто :) что мешает это сделать в один цикл?
#36 by КонецЦикла
(34, 35) Ну нафига перебирать строки если там нет договора
#38 by insider
действительно нафига? :)
#39 by Diter
Ша, спокойно - пока я код лабал вы тут подробности выясняли ;))
#40 by Diter
Зачем списки? операция разовая
#41 by Скользящий
Ух, накидали. Спасибо. :-)
#42 by insider
у нас разделение труда, я пока с представителями заказчика выясняю :)) да все правильно там, ну разве что синтаксис не смотрел, но идея правильная, не очем спорить
#43 by КонецЦикла
Разово забить руками списки :)
#44 by Скользящий
Особенно Diter-у. :-)
#45 by Diter
Смотри последний вариант. А ты говоришь - долго. Вот он минус работы фикси ;))
#46 by insider
ну зачем, а?
#47 by Diter
Как бабло делить будем если чего? ;))
#48 by Diter
Синтаксис не проверял - честно, но вроде ошибок нет
#49 by КонецЦикла
Все, пшел робботать я Денех нидадут, все только критикуют
#50 by Скользящий
А как ты думаешь, почему я с фикси сбежал? :-) Спасибо большое!!!
#51 by insider
думаю разберемся :) те, кто меня знают, знают что доверять можно :) там прям там, затюкали :))
#52 by Diter
Вот пример неорганизованности. значит кодер в поте лица пишет прогу, а менеджер оказывается выясняет подробности ТЗ и не ставит кодера в известность.....
#53 by Идиот
а вот поставить все это на платную основу и пипец мисте...
#54 by Токс
Я уже не понимаю... В доках может быть реквизит типа "Справочник.Договора" или там только "Справочник.Контрагенты"? ЗЫ А насчет Если Метаданные.Документ(Ном).РеквизитШапки("Контрагент").Выбран=1 Тогда По другому их не называют?
#55 by Diter
Всё нормуль ;))
#56 by КонецЦикла
Затем, чтобы в цикле идти по списку с видом документа, а потом внутренний цикл будет осуществлять перебор Для второго списка - еще и перебор строк в доках
#57 by Идиот
а бывает и "Клиент"
#58 by Diter
Врядли кому это в голову прийдёт. но можно делать ещё хитрее - проверять вид реквизита и если совпадает с "справочник.контрагенты" - пох как он называется. Правда возможно ситуация когда это не то что нужно.. по месту смотреть надо
#59 by Diter
Уже ;)) см 37
#60 by account77
Можно было юзать МетаОбъект.Тип = Справочник ТОгда МетаОбъект.Вид = Договор
#61 by insider
ага, а за бабло договориться? это ж важный момент :)) ага, были такие ветки, поищи хм... чем не устраивает код Diter'а? неоптимально разве?
#62 by КонецЦикла
Все, все, ухожу... сморел по диагонали
#63 by Diter
не получится. У меня во всяком случае.. Не сдержусь и буду помогать на шару - натура такая ;)) "шарокая"
#64 by Идиот
(61.2) зачем искать? видел я их, вот и радуюсь, что все не так :)
#65 by Идиот
ну и на :)))
#66 by insider
а... тогда другое дело :)
#67 by Идиот
я делал такую обработку, но пока искал - вы уже все решили :( и все равно не нашел ;)
#68 by Токс
Вот и я о том... Меня б такое больше устроило плюсом к твоему коду... PS А насчет первой части вопроса? " доках может быть реквизит типа "Справочник.Договора" или там только "Справочник.Контрагенты"? "
#69 by Diter
только может наоборот? Тип="Справочник" Вид="Контрагенты" так правильнее будет? А как может быть подчинённый справочник без владельца в одном документе? Фигню спорол уважаемый ;))
#70 by Скользящий
(all)Всем большое спасибо, ушел домой. Завтра на свежую голову весь код проверю в ветке. Чтобы не копи-паст был, а сам дошел, в чем у меня проблемы в образовании.
#71 by Токс
(+68) Или, перефразируя... Нет ли процедурок типа ПриВыбореКонтрагента ?
#72 by Diter
Хм.. интересно сколько он добрых слов скажет если ВЕСЬ код проверять будет? ;)) Геморно их запускать - там же контекст нужен документа, а это значит его открывать надо - ИМХО более сложно, хотя может и более правильно...
#73 by Diter
А клиент у него в документе и так заполнен. его не нужно перезаполнять
#74 by Токс
Бывает... лишь бы проходило...
#75 by insider
зачем так сложно? к тому же процедурок в локальном контексте может и не быть, у меня они в глобальнике обычно...
#76 by Diter
Хм.. да? Тогда сорри - я с таким не сталкивался... а как же он (реквизит - подчинённый справочник) заполняется? не понятно.. ну да ладно...
#77 by Diter
А это не важно..... Кстати, помнишь вчерашнюю ветку про остановку кода при котрытии формы? я знаю как минимум два способа как остановить выполнение кода и без "модального" открытия ;))
#78 by insider
вообще может, легко, только редко нужно такое
#79 by Diter
Пример можешь привести?
#80 by Идиот
подскажи
#81 by Токс
Да я не об этом... а: "только может наоборот? Тип="Справочник" Вид="Контрагенты"" Ладно, типовую не знаю - всё, ушел...
#82 by insider
та меня вчера там заклинило конкретно, вспомнить стыдно :) да, конечно: с минимальной переделкой измени типовую ТиС так, чтобы вести учет по следующим параметрам: есть товар, у товара есть размеры (подч.) у размеров есть цвета (подч. размерам)
#83 by Идиот
ха - типовую он не знает... при чем тут типовая?
#84 by Diter
1. простой - код который расположен после ОткрытьФорма(.....) переносим в процедуру ПриПовторномОткрытии (почитайте как она и когда работает) 2. более геморойный - код переносим в отдельну.ю процедуру. глобальная переменная и обработка ожидания в текущей форме - вызов обработки по проверке значения глобальной переменной. В вызываемой форме при закрытии устанавливаем нужное значение глобальной переменной - всё
#85 by Diter
Э погодь... речь идёт о том, что в документе есть реквизиты подчинённые справочники и НЕТ реквизита основной справочник-владелец
#86 by Diter
(+84) да - в добавок к первому варианту - в вызываемой форме при закрытии открываем форму текущую
#87 by Идиот
ух ты... надо записать
#88 by insider
ну да, и в регистре так же само, ну не добавлять же мне было еще два измерения в партии, остатки и продажи первое интересно :)
#89 by Diter
Есть ещё и третий способо - только я его не понял. Мне как то зубры пытались объяснять - там что то на контексте завязано и двух текстовых реквизитах на двух формах -
#90 by insider
+88 только не спрашивай как подбор делается, это не в двух словах :)
#91 by Diter
т.е.? В документе нет "товар"?
#92 by insider
нечто подобное вчера думал предложить, но openvpn затянуло :)
#93 by Diter
это чего такое "openvpn"?
#94 by insider
и че? т.е. он есть, у него тип другой (точнее у меня есть все, но можно было и убрать, т.к. инсертом никто не вводит)
#95 by Токс
Потому, что приведённый код мне кажется очень ненадёжным, а тут все радуются...
#96 by Diter
так есть владелец в документе или нет?
#97 by insider
ох... лучше не знать :) короче вариация на тему VPN (virtual private network) агрументы?
#98 by Diter
дело не в типовой. дело в том что ты перепутал в своём кусочке тип и вид местами. А это батенька метаданные - они одинаковы везде
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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