Перенос авансовых отчётов из БП 3.0 в БП 3.0

1. iunou 07.09.17 10:24 Сейчас в теме
Добрый день. Есть задача переносить авансовые отчеты из одной ПБ 3.0 в другую. Конфигурации идентичные. Справочники я перенес обработкой, почистил задвоение. Кроме справочника валюты. Потому что валюту поменять я уже не смогу ибо гемор очень большой. Все переношу выгрузкой загрузкой xml. При выгрузке авансовых он видит старую ссылку на валюту из базы источника. Какими способами мне заставить его при загрузке брать ссылку на валюту из базы приёмника? В ручную проставлять все долго, поиск и замена значения бухгалтерия сама не осилит. А делать это им придётся некоторое время.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. lefthander 07.09.17 10:43 Сейчас в теме
(1)Есть обработки которые делают поиск и замену значений. Поэтому в базе куда переносите(если этот перенос на долго) замените старое значение на новое.
4. iunou 07.09.17 10:51 Сейчас в теме
(2) Валюту изменить не даст этой обработкой потому что уже были продажи. И придётся распроводить все документы с 2016 года.
5. Alex_E 2357 07.09.17 10:54 Сейчас в теме
(4) Та ладно, даст, ещё как даст. Там не изменение а замена идёт без проведения документов.
7. iunou 07.09.17 10:58 Сейчас в теме
(5)Я пробовал, валюту нужно изменить ещё и в договорах и счетах. А если по договору были движения 1с не даёт мне это делать. Просит распровести все документы по договору.
8. Alex_E 2357 07.09.17 11:02 Сейчас в теме
(7) Вы плохо пробовали, или плохо читаете...обработка поиска и замены значений не заставит Вас лазить по документам и договорам. Она тупо заменит все ссылки на выбранный основным элемент справочника не только в формах, но и в движениях (вообще везде, где найдёт). Ситуация, особенно с задвоением валюты, не редкость, когда используется какой - то обмен, где поиск соответствия происходит по внутреннему идентификатору, и легко с помощью поиска и замены решается.
9. lefthander 07.09.17 11:05 Сейчас в теме
(7)Не забудьте в обработке выставить режим Обмен - тогда вообще обработка ничего проверять не будет, просто заменит все найденные ссылки и все.
12. Alex_E 2357 07.09.17 11:10 Сейчас в теме
(9) В штатной обработке поиска и замены в БП 3.0 подскажите пожалуйста,где это можно подставить?

(10) Мешает одна вещь - в Выгрузке загрузке XML их нет, как нет и правил собственно ...
13. lefthander 07.09.17 11:14 Сейчас в теме
(12)В штатной этого нет, на то она и штатная. Надо использовать стороннюю.
(10)Используется выгрузка загрузка без правил, та которая действует для идентичных конфигураций.
14. Alex_E 2357 07.09.17 11:16 Сейчас в теме
(13) Да не надо стороннюю - потому как штатная и так работает в режиме обмен данными загрузка))))
18. iunou 07.09.17 14:12 Сейчас в теме
(13)Не подскажите где найти их нештатные? На просторах в основном все обработки с диска итс
19. lefthander 07.09.17 20:21 Сейчас в теме
(18)В личке посмотрите, будут вопросы пишите туда же.
3. Prikum 3 07.09.17 10:48 Сейчас в теме
Изменить правило выгрузки-загрузки справочника Валюта
6. iunou 07.09.17 10:56 Сейчас в теме
(3)
правило выгрузки-загрузки справочника Валюта

Валюту вообще выгружать не нужно, заменить ссылку не получиться. В голове крутиться не знаю как реализовать, из-за скудного опыта в 1с. Как то указать при переносе использовать валюту рег учета в базе приёмнике. И она подставит туда рубли какие мне нужны.
10. Prikum 3 07.09.17 11:07 Сейчас в теме
(6)что мешает в обработчике "После загрузки" подставлять правильную валюту?
11. held88 59 07.09.17 11:09 Сейчас в теме
Да не парьтесь. Переносите как есть, пусть создает еще одну валюту, а потом объединение дублирующихся элементов справочника Валюты запустите да и все.
15. iunou 07.09.17 13:40 Сейчас в теме
(11) Если делать объединение и выбрать как основную валюту из исходной базы, то после загрузки он не видит валюту. Объект не найден. И все равно ищет ссылку на валюту из старой базы. сейчас через замену значений попробую сделать.
Прикрепленные файлы:
16. held88 59 07.09.17 13:55 Сейчас в теме
(15) Я извиняюсь. Я думал вы где-то нашли обработку для выгрузки и пользуете ее. Но если вы сами пишите правила через конвертацию данных то глупо давать совет, что я вам дал. Просто надо задать в правилах чтобы сопоставление проходило по коду, ну либо по наименованию. И все проблем нет. 100500 раз писал правила, уж со справочниками проблем никогда не было. Другое дело когда ты получаешь некие данные сопоставления которым нет в приемнике и на основе логических изысканий заполняешь реквизиты. А сопоставить да справочника по наименованию - это же не проблема.
17. iunou 07.09.17 14:07 Сейчас в теме
(16)Вы все верно подумали. Обработка с диска ИТС Универсальная выгрузка-загрузка. Вот сейчас читаю как раз про конвертацию. некогда ей не приходилось пользоваться. Видимо это единственный выход.
20. lefthander 07.09.17 20:23 Сейчас в теме
(17)Если правила будете писать, то начните с конвертации 2.1
На самом деле это не единственный выход. В вашей ситуации есть несколько выходов. Один из них - в базе из которой выгружаете у валюты заменить УИД на такой же как и в базе в которую грузите. и проблемы с валютой не будет.
22. starik-2005 3043 07.09.17 21:19 Сейчас в теме
(20)
в базе из которой выгружаете у валюты заменить УИД на такой же как и в базе в которую грузите. и проблемы с валютой не будет
Ага, а потом найти все объекты с этой валютой и перепрописать им новый УИД )))
23. lefthander 07.09.17 23:14 Сейчас в теме
(22)
Ага, а потом найти все объекты с этой валютой и перепрописать им новый УИД )))

Ну да, если перезагрузка не поможет, то те документы что были из новой базы с валютой надо обработкой заменить.
Зато в дальнейшем не будет проблем.
24. Alex_E 2357 08.09.17 05:17 Сейчас в теме
(20) Расскажите пожалуйста, как "сменить УИД" у существующего в базе объекта? Очень нужно!!!
25. starik-2005 3043 08.09.17 09:27 Сейчас в теме
(24) через скул, если база клиент-серверная или через редактор cf-ника, если файловая. Находите в любой консоли программиста, которая умеет отображать реальные имена таблиц и полей, имя таблицы и потом что-то такое для скульной версии. Главное - получить из второй базы (базы-источника) тот самый ГУИД. После этого, правда, все ссылки на валюту в базе, которую Вы изменили, накроются медным тазом, поэтому через поиск и замену значений их нужно заменить на новую ссылку, а на это могут в больших базах "годы уйти", а через скул опасно, ибо задающий такие вопросы в этом, полагаю, мало понимает )))
26. Alex_E 2357 08.09.17 09:37 Сейчас в теме
(25)
через скул, если база клиент-серверная или
- тутаа да - можно, а вот
через редактор cf-ника, если файловая.
- интересно, расскажите поподробнее... Вообще-то ГУИД - суть для существующего объекта средствами 1С неизменная, а в cf есть только конфигурация, элементов справочника валюты с ГУИДами тама нету, но не суть, Вы расскажете как....
Вот только один момент - банальную задачу исправления задвоенной валюты решать средствами не 1С - оно как из пушки по воробьям, Вам не кажется? Типовая обработина поиска и замены из Администрирования решает на раз (у ТС не получилось по недостатку опыта, мог бы и попросить кого-то помочь), а Вы ему предлагаете лезть напрямую в базу...да Вы, батенька демакрат, не иначе)))))) (ничего личного, просто ИМХО, не обижайтесь)
27. starik-2005 3043 08.09.17 09:48 Сейчас в теме
(26)
- интересно, расскажите поподробнее... Вообще-то ГУИД - суть для существующего объекта средствами 1С неизменная, а в cf есть только конфигурация, элементов справочника валюты с ГУИДами тама нету, но не суть, Вы расскажете как....
Поторопился и cf-ник перепутал с 1CD-шником. Хотя... Если элемент предопределенный, то в cf-нике есть его ГУИД, полагаю (хоть и не уверен).

По поводу напрямую лезть, то это ответ на Ваш вопрос о том, как поменять ГУИД. Я, заметьте, предлагал другой вариант в (21), а как поменять ГУИД - спрашивали Вы, так что это Вам ответ. А что у Вы с ним будете делать - Ваши проблемы.
30. Alex_E 2357 08.09.17 10:06 Сейчас в теме
(27)
А что у Вы с ним будете делать - Ваши проблемы.
- да нет у меня проблем, и ГУИДЫ через базу менять не собираюсь - ибо извращение - есть более "цивилизованные" методы)))
31. Alex_E 2357 08.09.17 10:08 Сейчас в теме
(27) и как поменять ГУИД я спрашивал не у Вас, но...походу вы тоже демакрат)))))))))
33. starik-2005 3043 08.09.17 10:18 Сейчас в теме
(31) А какая фиг разница, у кого Вы спрашивали. Возможность есть, а использование возможности - дело вопрошающего. Кто хочет - ищет возможности, кто не хочет - ищет причины. Вы, как мне кажется, больше из второй группы товарищей (господ?)
28. starik-2005 3043 08.09.17 09:52 Сейчас в теме
(26) А задача вовсе не изменения задвоенной валюты касается, а переноса данных из одной базы в другую (для аналогичных конфигураций). У него так каждый раз придется запускать поиск и замену, после каждого обмена.
29. Alex_E 2357 08.09.17 10:04 Сейчас в теме
(28) После каждого обмена не придётся - нужно просто оставить "правильный" элемент справочника, а ТС его удалил. Поверьте - проблема мне знакома до безобразия (вот обработка https://infostart.ru/public/421541/, которая так же по ГУИД работает, хотя можно систему поиска и поменять, если очень хочется)...
32. starik-2005 3043 08.09.17 10:15 Сейчас в теме
(29) Все зависит от того, сколько у "топикастера" (какое древнее слово, однако) данных в базе, в которую он грузит. Если там три объекта с валютой - это одно, если их там миллионы, то даже боюсь предположить, во что выльется замена этих "старых" элементов справочника "Валюта" на новый. Вот, например, есть современные решения для автоматизации учета по новому единому плану счетов, где для каждого аналитического разреза формируется лицевой счет с валютой - таких лицевых счетов может быть не один миллион, поэтому достаточно непросто произвести поиск и замену всего этого миллиона. при том в разных решениях при записи этих элементов могут храниться дополнительные данные, зависящие, например, от валюты (хеш элемента), таким образом менять придется еще больший объем данных. Поэтому, на мой взгляд, лучшим решением будет именно модернизация механизма обмена (или создание своего механизма), который для одного объекта в 1С делается элементарно.

А по поводу "демократии", то, полагаю, Вы тоже считаете, что это не "власть народа", а "власть ужаса" (т.е. путаете "демос" и "деймос"). Но это простительно - греческий только попы изучают, да и то из рук вон плохо...
34. Alex_E 2357 08.09.17 10:23 Сейчас в теме
(32) демАкрат - несколько другое, но не в этом дело. Задачи, подобные описываемой в базе как у ТС априори не подходят под ваше
их там миллионы,
, т.к. когда это так, то подобной задачи бы просто не возникло, и ежели уж решать как Вы предлагаете, то тогда уж напрямую в базу писать документы. Тут уже не про 1С немного речь. Я то, по дремучести своей думал мы про кондовую бухню 3.0 тут рассусоливаем)))) Ещё раз - тут задача выеденного яйца не стоит, а постов уже вона сколько)))))
(33) Возможность возможности рознь, и Ваше решение - поищи мол, тута такого много, не есть решение, в отличие от предлагаемого мной простого пути средствами типовой конфигурации...
36. starik-2005 3043 08.09.17 10:32 Сейчас в теме
(34) Я как раз простое решение в (21) предложил. Но всегда есть те, кто будет бесконечно пытаться делать неправильно, а потом исправлять. Завтра они бакс заведут и там, и тут, и снова перелопачивать все элементы на новый бакс, ибо ГУИД опять окажется не равен. При этом можно сразу все верно сделать, просто запилив достаточно небольшой код по миграции данных из базы А в базу Б, который сам все поправит после десериализации объекта.
38. Alex_E 2357 08.09.17 10:36 Сейчас в теме
(36) ну ясен пень - Ваш метод самы простой и самый правильный, ктож спорит? Только , не знаю почему, мне кажется, что обработка с этими строчками сама по себе проблемы не решит, а куда её вставить я не понял.
40. starik-2005 3043 08.09.17 10:42 Сейчас в теме
(38)
а куда её вставить я не понял
Ну вот вы же сами пишите:
мне кажется, что обработка
Обработка - это обработка. Значит, вставить надо в обработку. А топикастеру-копипастеру все-равно что запускать - хоть типовую с ИТС, хоть свою не с ИТС. Кнопку прибиндить всяко полагаю он сможет.

ЗЫ: Но раз зашла такая пьянка и появился умный человек, с кем можно поговорит, то вдруг (внезапно) Вы знаете, как в XPath прочитать только значение объекта-родителя без подчиненных? Т.е. что-то типа <div class=zzz>тратата< a href=xxx>xxx< /a ></div> я читаю типа так: "//div[class='zzz']", но якорь туда тоже читается, а не хотелось бы...
41. Alex_E 2357 08.09.17 10:48 Сейчас в теме
(40) Та не, куды мне до умных, я так, погулять вышел)))) Есть типовые обработки, и простой случай, кодирования не требующий - всё решается на раз тем, что уже под руками...но, мы ж не ищем лёгких путей)))) Блин, вот ей Богу, сейчас начнёте ... меряться? Увы, не ко мне)))))))))))))))))

Я высказал ИМХО, что методы прямого воздействия на ИБ 1С в данном случае бред сивой кобылы из пушки по воробьям. Вы на это XPath - чем материться начали....давайте жить дружно, пусть ТС нас рассудит, я готов, если что решить его проблему по АА (написать в личку), если у него будет желание....
42. starik-2005 3043 08.09.17 10:54 Сейчас в теме
(41)
Вы на это XPath - чем материться начали....давайте жить дружно
Ну я просто спросил - вдруг знаете. Пишу на пыхе агрегатор для 1С-ных вакух с HH. Там в одном теге (дата публикации) есть якорь. вывод прикольный получился:
div(49)
div (search-result-item__head): Программист/ старший программист 1С
div (b-vacancy-list-salary): 150 000-200 000 руб.
div (search-result-item__snippet): ...1С 8 под требования компании. Анализ задач автоматизации, проведение предпроектных обследований. Разработка сценария автоматизации. Консультирование. Доработка конфигураций 1С.
div (search-result-item__snippet): ...конфигураций 1С ЗУП, БП. Знание конфигурации 1С: Конвертация данных. Умение работать с планами обмена. Опыт программирования 1С...
div (search-result-item__company): ООО Анатира Рекрутмент
div (search-result-item__info): Москва • 9 августаОткликнуться
div(50)
div (search-result-item__head): Программист 1C
div (b-vacancy-list-salary): 150 000-180 000 руб.
div (search-result-item__snippet): Разработка новых решений на платформе 1С 8.3. Интеграция между различными БД 1С, интеграция с бизнес приложениями.
div (search-result-item__snippet): Опыт программирования 1С 8.3 от 3 лет. Знание внутренних механизмов типовых конфигураций 1С (УТ 11.3, Розница...
div (search-result-item__company): Сеть салонов Caterina Leman
div (search-result-item__info): Москва, Ленинский проспект • 23 августаОткликнуться
div(51)
div (search-result-item__head): Программист 1C в проектный отдел (м. Пролетарская/Крестьянская застава)
div (b-vacancy-list-salary): 100 000-170 000 руб.
div (search-result-item__snippet): ...Конвертация данных и др.). Программирование по ТЗ в среде 1С на крупных проектах. Сдача заказчику результатов разработки напрямую или...
div (search-result-item__snippet): ...1С (наличие сертификата "Специалист" по платформе 1С 8.2-8,3 приветствуется). Обладаете опытом программирования в среде 1...
div (search-result-item__company): Первый БИТ
div (search-result-item__info): Москва, Пролетарская и еще 1 • 28 августаОткликнуться
Всего вакух: 51
Показать
Хочу потом на 1С это зарелизить и опубликовать статейку типа "пыха супротив 1С" для элегантного решения проблем...
43. Alex_E 2357 08.09.17 10:55 Сейчас в теме
(42) Удачи Вам, тут я совсем тёмный - нас и так неплохо кормют))))))))
44. starik-2005 3043 08.09.17 10:57 Сейчас в теме
(43)
нас и так неплохо кормют
Да нас тоже, просто в отпуске я - вот и развлекаюсь. Море уже два раза видел - тошнит от него.
51. lefthander 08.09.17 20:47 Сейчас в теме
(36)Вот здесь опыт должен таки подсказать, завести бакс в одной базе и перегрузить его в другую... Или нет?
52. starik-2005 3043 08.09.17 23:10 Сейчас в теме
(51) все зависит от того, на сколько часто производится обмен и что за база вообще одна и другая. Если это разные организации, периодически что-то обменивающие между собой, то это одно. Если это разные компании внутри одного холдинга и живущие на одном сервере - это другое.
53. lefthander 09.09.17 10:58 Сейчас в теме
(52)Вам виднее, но мой опыт подсказывает что от перечисленного Вами ничего не зависит. Если создали элемент в одной базе, и аналогичный в другой - скорее всего будет задвоение, если во второй не создали, а перенесли из первой, то все будет нормально. :)
54. starik-2005 3043 09.09.17 11:32 Сейчас в теме
(53)
Если создали элемент в одной базе, и аналогичный в другой - скорее всего будет задвоение, если во второй не создали, а перенесли из первой, то все будет нормально.
А с валютой все может быть куда интереснее, ибо при появлении бакса начинается загрузка курсов из разных сервисов. Эта валюта может быть создана для одной цели, а потом, внезапно, она становится элементом авансового отчета. А валюты уже есть в обоих базах, курсы исправно грузятся. И вот в один прекрасны день приезжает доллар №2, в который система внезапно начинает грузить курс, а в доллар №1 перестает, ибо выборка возвращает второй доллар по ПЕРВЫЕ 1 (ну бывает так, ибо все поля одинаковые - как будем упорядочивать и выяснять, который первый, а который второй?) В итоге слетают прочие документы, а создатель обмена в Африке, например, греет кости под пирамидами... Кто будет запускать замену значений, кто об этом знает, кроме копипастера?
21. starik-2005 3043 07.09.17 21:16 Сейчас в теме
(17)
Видимо это единственный выход.
Да выходов тут масса, собственно. Можно простой код написать:

Пока Выбора.Следующий() Цикл
  Запись = Новый ЗаписьXML;
  Запись.УстановитьСтроку();
  СериализаторXDTO.ЗаписатьXML(Запись, Выборка.Документ.ПолучитьОбъект());
  Чтение = СоединениеСБазой.СоздатьОбъект("ЧтениеXML");
  Чтение.УстановитьСтроку( Запись.Закрыть() );
  ДокументИБ2 = СоединениеСБазой.СериализаторXDTO.ПрочитатьXML(Чтение);
  ДокументИБ2.Валюта = СоединениеСБазой.Справочники.Валюты.НайтиПоКоду("643");
  ДокументИБ2.Записать(СоединениеСБазой.РежимЗаписиДокумента.Проведение);
КонецЦикла
Показать
Как-то так. На входе выборка из запроса по выгружаемым документам и СОМ-соединение с базой 1С, в которую нужно загрузить данные.
35. Alex_E 2357 08.09.17 10:27 Сейчас в теме
Кстати, по поводу какая разница у кого я спрашивал, разница таки есть, я хотел, чтобы советовальщик сам рассказал. как он видит реализацию своего совета, но тут вмешались Вы (великий и ужастный))))), решения правда не предложили, но уже интересная беседа получается, в духе стоит ли из пушки по воробьям стрелять, или, как у Василия Ивановича - "Где должен быть командир?" ;-)
37. starik-2005 3043 08.09.17 10:35 Сейчас в теме
(35) ну а Вы, значить, этакий "херо", с буквой "S " на медной бляшке, в синей форменной футболке, и давай его учить, чтоб на свете проще жить ))) Но предлагая изначально косячный метод Вы ни разу не задумываетесь, что топикастер - это копипастер, который вот так и будет вечно искать простые решения и огребать от них туеву хучу проблем в будущем. С другой стороны, а кто у нас в "демократическом" обществе вообще о будущем думает? Да ну его нафиг )))
39. Alex_E 2357 08.09.17 10:38 Сейчас в теме
(37) Точно, именно он, ну этот, как Вы там точно подметили))))

ЗЫ - только мой косячный метод работает реально, а Ваш - пока только несколько строк в никуда...
45. lefthander 08.09.17 11:28 Сейчас в теме
Всем привет, и чего Вы все так возбудились? Из маленькой мушки дрозофилы соорудили монстра...
По поводу смены УИД. Редактор реквизитов это делает на раз и два. Сначала считываем уид справочника в базе приемника, затем его прописываем у аналогичного элемента справочника в источнике. И чего сложного?
Недавно настраивал обмен-конвертацию в своих базах, на одной паре баз прошло на ура. Но от такого метода решил отказаться, проще через параметры правил конвертации передать нужные данные.
Редактор реквизитов брал где то тут, на инфорстате, правда немного доработал в части записи УИД, действительно УИД менять это уже когда других идей нет.
46. Alex_E 2357 08.09.17 11:32 Сейчас в теме
(45) Не, ну возбудилися, так возбудилися, хочу пример в студию. как поменять ГУИД у рубля в справочнике Валюты в БП 3.0. Если без проблем - то можно посмотреть, как Вы это делаете, я, тоже так хочу!
47. lefthander 08.09.17 12:00 Сейчас в теме
(46) :) даже не знаю что вам ответить. Как вы хотите ЭТО смотреть?
48. Alex_E 2357 08.09.17 12:13 Сейчас в теме
(47) идеал - выложите обработку с один полем ввода и одной кнопкой, которой заменится ГУИД на любой другой, можно? Вот заготовка, если лень самому
Прикрепленные файлы:
СменитьГУИД.epf
49. lefthander 08.09.17 14:04 Сейчас в теме
50. Alex_E 2357 08.09.17 19:12 Сейчас в теме
ответил на ответ в личке)))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот