Имя: Пароль:
1C
1С v8
вопрос по конвертации данных
0 lisrws
 
25.12.13
22:52
Есть 2 конфы: УПП и Управление автотранспортом. Из УПП разные заказа(покупателя, поставщику, внутренний) передаются в УА в заявку на транспортное средство. Затем на основе этой заявки делается маршрутный лист, заявка в таб части. Потом этот маршрутный лист перегоняется в УПП в "маршрут доставки". В этом документе в таб части тоже есть реквизит для заказа, но он составного типа (заказ покупателя, поставщику, внутренний). Хочется, чтобы когда создавался документ в УПП автоматически определялось какой из типов заказов должен быть в таб части, а потом уже искался этот заказ в своем списке и подставлялся в маршрут доставки. Сейчас происходит подстановка любого из заказов как заказа покупателя. если должен быть другой тип, то просто создается новый пустой документ и в маршрут доставки попадает ссылка на него. как это победить?
1 GenV
 
25.12.13
23:17
(0) Для того, чтобы что нибудь тебе подсказать нужно знать по какому алгоритму "автоматически определялось какой из типов заказов должен быть в таб части, а потом уже искался этот заказ в своем списке и подставлялся в маршрут доставки". Ели сейчас алгоритма в коде нет, то и в КД реализовывать нечего ...
2 lisrws
 
25.12.13
23:44
дополнительных алгоритмов не писал, так как не знаю что и как для этого писать. сейчас просто прописано стандартное соответствие, что реквизит таб части источника соответствует аналогичному реквизиту(с 3 типами) таб части приемника
3 GenV
 
25.12.13
23:52
(2) Для того, чтобы в КД прописать соответствие тебе сначала придется придумать и протестировать алгоритм (например во внешней обработке). Где ты будешь указывать твои исходные данные из УАТ (которые потом будут использоваться в КД), а на выходе получать ссылку на нужный документ. Если все будет нормально работать в УПП, значит можно и в КД это реализовать.  Возможно в заявке на транспортное средство нужно где-то хранить и вид заказа при передаче из УПП.
4 lisrws
 
26.12.13
00:52
спасибо, но я понимаю принцип как реализовывать. я не знаю КАК это реализовать. может есть ссылки с похожими темами?
5 lisrws
 
26.12.13
00:56
нужен пример для похожего механизма или фрагмент кода
6 dj_serega
 
26.12.13
00:56
если документ транзитом через УАТ попадает обратно, то можно через GUID'ы попробовать. Тоесть GUID выгрузить в реквизит УАТ'а. там прогнать где нужно, и вернуть в УПП. Естественно в УПП документ сразу будет найден.
7 dj_serega
 
26.12.13
00:56
(5) Сейчас я так понял все "бегает"?
8 lisrws
 
26.12.13
01:12
(6) обмен работает через guidы. я тоже сперва думал, что вернувшись обратно по уникальному идентификатору, тип документа, а вместе с ним и документ будет обнаружен корректно, но что-то не срослось, хотя в теории должно. сейчас  еще раз все проверю, нигде ли не забыл чего-то выставить.

еще такой вопрос: в ПКС я указал Источник: ЗаказГрузоотправителя и приемник: Заказ. стоит галка "передавать данные в приемник". а нужно ли указывать здесь правило для этих полей? я ничего не указывал. с пустым система сама вроде должна автоматически типы приводить
9 lisrws
 
26.12.13
12:36
у кого-нибудь есть соображения по этому поводу?
10 Remadan
 
26.12.13
12:53
(9) Конвертация данных не может прост так отправить в базу-приемник документ неизвестного типа. Стало быть можно либо определить тип получателя при отправке (например используя данные регистра СоответствиеОбъектовДляОбмена, если такое есть в УА), либо передавать данные заказов в УПП любым способом (как один из видов заказа или какой-нибудь магией через параметры) и собрать документ в приемнике самостоятельно. Первый вариант предпочтительнее на мой взгляд.
11 lisrws
 
26.12.13
16:15
спасибо, за подсказки.
12 Абыр
 
26.12.13
16:31
(0) в УА при выгрузке не известно какой тип заказа следует поставить в УПП при загрузке?
Программист всегда исправляет последнюю ошибку.