Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Исходная много складов - Конечная один склад
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Конфигурация "1С:Конвертация данных"
DiegoLidabo
Здравствуйте!
Конфигурация УТП.
Конвертация данных, редакция 2.1 (2.1.8.2)
Необходимо выгрузить/загрузить данные в одинаковые ИБ с условием:
- В исходной много складов (1 Склад, 2 Склад, ... ) - В конечной один склад ( Склад А )
sava1
Если во всех документах - тогда ПКО Склады - тупо выгружаем только нужный склад
Если один/два документа - тогда ПКО Документа (Перед/ПослеВыгрузки или ПередЗагрузкой) изменить склад на нужный
DiegoLidabo
Наверное не достаточно ясно изложил задачу.
- В исходной много складов (1 Склад, 2 Склад, ... ) - В конечной один склад ( Склад А ) - Это значит что все/ВСЁ по складам в исходной должно пройти по одному складу в конечной.
sava1
В конечной есть все склады в справочнике (Склад1,Склад2....СкладА) или только один СкладА ?
DiegoLidabo
Цитата(sava1 @ 12.05.15, 11:44) необходимо зарегистрироваться для просмотра ссылки
В конечной есть все склады в справочнике (Склад1,Склад2....СкладА) или только один СкладА ?


Только "Склад А". (Нет ни одного совпадения по названию/коду)
sava1
Проще всего для спр.склады в обработчике ПослеВыгрузки прописать типа:
Объект.Код = // код склада в приемнике

синхронизацию сделать по коду и установить Не создавать новых и т.д.

или создать такой-же склад в источнике и ПриВыгрузке прописать его
korol1091
ПКО, процедура ПослеЗагрузки, пишем:

НашСклад = Справочники.Склады.НайтиПоКоду("123");
Объект.Склад  = НашСклад;



НашСклад можно брать из константы, засунуть в форму обработки или тянуть по коду из справочника
sava1
Цитата(korol1091 @ 12.05.15, 13:22) необходимо зарегистрироваться для просмотра ссылки
Объект.Склад  = НашСклад;

Охренительно, но это надо будет писАть в каждом документе.
DiegoLidabo
korol1091

Писать ПКО только для тех объектов где есть реквизит склад?

sava1
Цитата(sava1 @ 12.05.15, 12:34) необходимо зарегистрироваться для просмотра ссылки
Охренительно, но это надо будет писАть в каждом документе.


А как по другому? Подскажите, плз.
TipsyKID
В правиле конвертации объектов ,предположительно "МестаХранения", перед выгрузкой пишем : Значение = "Общий склад";
У этого правила оставляем свойство Наименование ( по нему устанавливаем поиск объекта ). В самом свойстве "Наименования", перед выгрузкой пишем следующее : Значение = Источник;

Объясню логику :
Мы в правило "МестаХранения" подменяем источник, делая его просто строкой, и присваевыем эту строку Наименованию, после чего делаем поиск объекта в базе приемнике, только по наименованию.
DiegoLidabo
Цитата(TipsyKID @ 12.05.15, 13:28) необходимо зарегистрироваться для просмотра ссылки
В правиле конвертации объектов ,предположительно "МестаХранения", перед выгрузкой пишем : Значение = "Общий склад";
У этого правила оставляем свойство Наименование ( по нему устанавливаем поиск объекта ). В самом свойстве "Наименования", перед выгрузкой пишем следующее : Значение = Источник;

Объясню логику :
Мы в правило "МестаХранения" подменяем источник, делая его просто строкой, и присваевыем эту строку Наименованию, после чего делаем поиск объекта в базе приемнике, только по наименованию.



Спасибо! логику понял... Но как это правило будет работать при выгрузке/загрузке документов у которых есть реквизит склад?
sava1
В ХМЛ файле везде, где есть реквизит склад будет стоять наименование единственного склада.
При загрузке будет искать склад по наименованию и подставлять СкладА
DiegoLidabo
sava1
Спасибо!
DiegoLidabo
TipsyKID, sava1
В XML моего склада, "Склад А", Нет. В приемнике V8Exchan82.epf отрабатывает без ошибок, но в документах реквизит склад имеет занчение "<>". Пожалуйста подскажите "ЧТО НЕ ТАК"?
sava1
Как заполнены параметры в пко Склад ? (синхронизация, поиск, ....)
DiegoLidabo
ПКО "Склады":
Объекты ИБ источника - СправочникСсылка.Склады,
Объекты ИБ приемника - СправочникСсылка.Склады;

Доп настройки - крыжиков нет;

Обработчик событий - Перед выгрузкой: "Значение = Источник;"

ПКС - Поиск по "Наименование", в основной Перед выгрузкой: "Значение = Источник;"




sava1
Поиск по гуид должен быть снят

вариант 1.
наименование Поиск - птиса
Значение = "Имя склада" в приемнике
Вариант2
код поиск - птиса
Значение = код склада в приемнике
DiegoLidabo
Это в ПКС?
Значение = "СкладА";
sava1
Да. ПКС Наименование или Код
DiegoLidabo
ок, переделываю...
DiegoLidabo
К ожалению выполненные действия результата не дали. Попробовал использовать конвертацию значений, но и это привело к тому, что реквизит склад в документах был не заполнен. Что делать дальше не представляю.
DiegoLidabo
Решение:
ПКС "Наименование" событие "Перед выгрузкой"
- Значение = "Склад А";
- установить крыжик искать по полю "Наименование"
- убрать крыжик "Искать" по коду

ПКО "Склады"
- убрать крыжик "Искать по УИДу"
- Установить крыжик "Не замещать сущетвующие объекты..."

Спасибо АБ-Центр, Днепропетровск
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.