Конвертация данных 2.0 Как задать значение конкретного элемента базы получателя ?

1. alex_4x 85 17.11.10 11:45 Сейчас в теме
При выгрузке данных в правиле конвертации свойств (ПКС)
в разделе "при выгрузке" необходимо Значение взять не из реквизита источника,
а жестко задать, причем известно только какой это будет элемент в базе приемнике, в базе источнике такого элемента нет. Как это сделать ?
Мне нужно получить непредопределенный (выбрать по коду) элемент справочника базы получателя, значение перечисления базы получателя и Счет Хозрасчетного плана счетов тоже базы получателя.

Понимаю, как при выгрузке можно найти объект базы источника, а вот как получить и записать в Значение элемент базы получателя - ума не приложу.
Спасибо!
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
61. RocKeR_13 1323 16.11.12 12:55 Сейчас в теме
(1) alexey, епрст, ну наусложняли жизнь) Раз нет чего-то в базе-источнике, значит надо использовать событие ПослеЗагрузки: там уже смело можете обращаться к элементам базы-приемника) И не надо создавать ПКС для реквизитов, которых нет в источнике: заполните их уже непосредственно в загрузке) Да, всякие там параметры/входящие/исходящие данные - это все круто и хорошо, но зачем, если можно сделать все намного проще)))
62. kasper076 104 20.12.12 11:27 Сейчас в теме
(61) А если наличие или отсутствие таких данных зависит от выполнения определенных условий в базе источнике? Как тогда решать этот вопрос ПриЗагрузке???
127. UsachevDima 28.07.15 01:59 Сейчас в теме
Добрые люди, помогите пожалуйста!
Понимаю что тема избитая, ветку изучил но результат = 0

Пытаюсь изменить плавила обмена (Больничная Аптека ред. 1.1 -> Бухгалтерия государственного учреждения ред. 2.0) вношу изменения в ПКО ПТ_ПоступлениеМЗ а именно в табличную часть МАТЕРИАЛЫ в ПКС Коэффициент:

В правило ПередВыгрузкой вношу запись вида: Значение = 1;
Другими словами хочу добиться того что бы Коэффициент в приемнике ровнялся 1;

Обмен (синхронизация) организован типовым решением Больничная Аптека с применением БСП.
В итоге при попытке синхронизироваться в Журнале Больничной Аптеки появляется следующее ошибочное сообщение:

Обмен данными.ОбменБольничнаяАптекаБухгалтерияГосударственногоУчреждения20­.Узел БГ.Выгрузка данных

Ошибка в обработчике события ПередВыгрузкой (свойства)
ПКО = ПТ_ПоступлениеМЗ (Документ: Поступление товаров)
ПКС = 34 (--> Коэффициент)
Объект = Поступление товаров 00АП-000005 от 20.01.2015 15:51:31 (Документ объект: Поступление товаров)
СвойствоПриемника = Коэффициент (Число)
Обработчик = ПередВыгрузкойСвойства
ОписаниеОшибки = Метод объекта не обнаружен (ПКС_ПТ_ПоступлениеМЗ_Материалы_Коэффициент_ПередВыгрузкойСво­йства_34_16)
ПозицияМодуля = (1)
КСообщенияОбОшибках = 55

Из описания ошибки понятно что не обнаружен метод объекта (ПКС_ПТ_ПоступлениеМЗ_Материалы_Коэффициент_ПередВыгрузкойСво­йства_34_16) где этот метод и зачем он необходим ума не приложу.
Подскажите пожалуйста

Во вложении типовые правила обмена (ПравилаДляОбменаДанными.xml), и правила обмена после изменения (ПравилаДляОбменаДанными-ИЗМ.xml)
Прикрепленные файлы:
ОбменАтпека-БГУ2.rar
128. insurgut 207 28.07.15 06:59 Сейчас в теме
(127) UsachevDima, очень похоже, что у вас с обработкой ОбменДанными что-то не в порядке, или с конфигурацией Конвертация данных... Если не получается установить свойство, тогда может в ПКО ПТ_ПоступлениеМЗ перед выгрузкой в запросе коэффициент установить напрямую?

ТекстЗапроса = "
|ВЫБРАТЬ
|	ТаблицаТовары.Номенклатура КАК Номенклатура,
|	ТаблицаТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
|	1 КАК Коэффициент,
|	ТаблицаТовары.КоличествоВЕдиницахИзмерения КАК КоличествоМест,
|	ТаблицаТовары.Количество КАК Количество,
|	ТаблицаТовары.Сумма КАК Сумма,
|	ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
|	ТаблицаТовары.СуммаНДС КАК СуммаНДС,
|	ТаблицаТовары.СуммаСНДС КАК Всего
|ИЗ
|	Документ.ПоступлениеТоваров.Товары КАК ТаблицаТовары
|ГДЕ
|	ТаблицаТовары.Ссылка = &Ссылка
|";
Показать
UsachevDima; +1 Ответить
131. UsachevDima 29.07.15 00:50 Сейчас в теме
(128) insurgut,
Пробовал напрямую в запросе – не помогло.
В итоге: нашел обработку в конфигурации источнике (Больничная Аптека) с названием «ОбработчикиВыгрузкиВБухгалтериюГосударственногоУчреждения20­» а в ней процедуру ПКО_ПТ_ПоступлениеМЗ_ПередВыгрузкойОбъекта и после внесения изменений в эту процедуру Коэффициент стал равным 1.
Вопрос: как это «черт подери» связанно с файлом правил обмена, это так ведет себя БСП21 или это можно настроить в правилах обмена???
Прикрепленные файлы:
132. insurgut 207 29.07.15 07:05 Сейчас в теме
(131) UsachevDima, ну вы же сами дали ответ - используется нетиповая обработка выгрузки. Вам остается либо делать доработки в самой конфигурации, либо дорабатывать конфигурацию так, чтобы использовать механизм типового обмена аналогично той же УТ 10.3 с использованием обработки ОбменДаннымиXML.
133. adva 45 29.07.15 08:19 Сейчас в теме
(131) я не разбирался с новыми механизмами обмена в БСП, но похоже в новых конфах сейчас помимо правил обмена, аналогичные изменения надо вносить и в код обработки обмена в конфигурации (что Вы и сделали). У меня тоже была подобная проблема. Кажется если использовать обработку универсального обмена, то используется код из правил. Код обработчиков для замены можно получить в самой конвертации
UsachevDima; +1 Ответить
135. пользователь 04.10.16 18:21
(131) UsachevDima, КД2 позволяет выгружать обработчики в отдельный файл для отладки. Используется для отладки обработчиков загрузки/выгрузки обработкой V8Exchan83.epf(там ставится галка "Использовать отладку обработчиков" и выбирается файл с ними).
Зачем такое городить в продакшен - непонятно.
2. пользователь 18.11.10 10:28
Допустим в приемнике у тебя есть справочник [Материалы] с реквизитами [ВидМатериала:ПеречислениеСсылка.ВидыМатериалов] и [СчетУчета:ПланСчетовСсылка.Основной] скажем [Перечисление.ВидыМатериалов] имеет элементы {Топливо, Запчасти} и имеется план счетов {Основной} с элементами {10, 10.3, 10.5}, в источнике справочник [Номенклатура] и нет вообще типов [ПеречислениеСсылка.ВидыМатериалов и [ПланСчетовСсылка.Основной].
Ты Источник [Номенклатура] преобразуешь в Получателя [Материалы] передавая только реквизиты [Код] и [Наименование].
Для этого создаешь ПКО [СправочникСсылка.Номенклатура -> СправочникСсылка.Материалы] создаешь все необходимые для Получателя ПКС, а именно [Код], [Наименование],[ВидМатериала],[СчетУчета]. Для реквизитов [Код] и [Наименование] все тривиально - выставляешь соответствующие реквизиты Источника. А для [ВидМатериала] и [СчетУчета] создаешь соответствующие ПКО, где Источник ставишь Строка а приемник - необходимый тебе тип, а именно ПКО [Строка -> ПеречислениеСсылка.ВидыМатериалов] и ПКО [Строка -> ПланСчетовСсылка.Основной].
В ПКО [Строка -> ПеречислениеСсылка.ВидыМатериалов] заполняешь соответствие значений {"Топливо" -> Топливо} и {"Запчасти" -> Запчасти}
В ПКО [Строка -> ПланСчетовСсылка.Основной] заполняешь соответствие значений {"10.3" -> 10.3} и {"10.5" -> 10.5}
Возвращаешься в ПКО [СправочникСсылка.Номенклатура -> СправочникСсылка.Материалы] и устанавливаешь на ПКС соответствующие ПКО созданные выше.
Далее открываешь ПКС [ВидМатериала] и в обработчике "ПередВыгрузкой" пишешь код в результате которого переменной Значение необходимо установить либо "Топливо" либо "Запчасти", далее оно по ПКО [Строка -> ПеречислениеСсылка.ВидыМатериалов] преобразуется в приемнике в значение типа ПеречислениеСсылка.ВидыМатериалов.
Соответственно с ПКС [СчетУчета], в обработчике "ПередВыгрузкой" пишешь код в результате которого переменной Значение установить "10.3" или "10.5".

ЗЫ: Я пишу в настоящий момент цикл статей по "Конвертация данных", посматривай в разделе "Статьи" на сайте http://aitrade.ru.
user706520_bichkov; orcommander; Izumov; ram3; zxcvb98765; yurikovd; dengl; Rokky78; adva; odin777; +10 Ответить
3. alex_4x 85 18.11.10 16:46 Сейчас в теме
К сожалению статей на указанном сайте по КД не нашел.

Идею как мне кажется я понял - суть создать ПКО (правило конвертации объекта) которое из кода найдет толи справочник, толи перечисление в базе приемника.

Этот поиск надо делать в закладке "Перед загрузкой" в ПКО ?
Но в книжке по КД не нашел переменной, в которой собственно переданное значение и куда полученный результат записать...

Ну предположим, мне надо чтобы реквизиту был подставлен счет "50".
В ПКС источник не ставлю, на закладке "при выгрузке" пишу
Значение = "50";

Формирую новое правило ПКО:
Объект инф. базы источника: Строка
Объект инф. бызы приемника: ПланСчетовСсылка.Хозрасчетный

Загрузка данных:
снимаю галочку искать "искать объект приемника по внутреннему идентификатору"
ставлю галку "не создавать" и "не замещать"
На закладке "При загрузке" пишу:
Значение = ПланыСчетов.Хозрасчетный.НайтиПоКоду(Источник);

При записи данных не ругается, а при загрузке в V8Exchan81.epf
пишет:
Ссылка на несуществующий объект метаданных в правилах обмена
Объект = Строка
ОписаниеОшибки = Значение не является значением объектного типа (ПКО)
ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML(2071)
КодСообщения = 11
4. пользователь 18.11.10 17:03
Ты не забыл после
Формирую новое правило ПКО:
Объект инф. базы источника: Строка
Объект инф. бызы приемника: ПланСчетовСсылка.Хозрасчетный

настроить сопоставление значений? "Конвертация значений" внизу, сопоставить строковые значения счетов с предопределенными в источнике.

Если файл XML не большой, вставь сюда.

Для справочника отсутствующего в Источнике так же создаешь ПКО, где свойству [Код] присваиваешь Значение какое нужно, в событие "ПриЗагрузке" лучше не соваться, лучше все делать при выгрузке.

ЗЫ: Про сайт я написал, что пишу статьи, там много связей между статьями и выкладывать кусками не красиво =)
5. alex_4x 85 18.11.10 17:15 Сейчас в теме
А можно по шагам ? я не могу понять в ПКС или в ПКО это делать ?

в документе: ПриходныйКассовыйОрдер СчетКасса

файл приложил.
Прикрепленные файлы:
ПОД_УПП_БУХ.rar
6. пользователь 18.11.10 17:31
Какой у тебя там объект?
7. alex_4x 85 18.11.10 17:36 Сейчас в теме
там ПКС Приемник "СчетКасса"
ПланСчетовСсылка.Хозрасчетный - надо чтобы проставился по коду "50.01"
dimkor41; +1 Ответить
8. пользователь 18.11.10 17:56
1. Ставь обработчик всегда когда переопределяешь значение ПЕРЕД выгрузкой.
2. В ПКО [Хозрасчетный_по_коду] убираешь все обработчики и ставишь тип источника "Строка".
3. В ПКО [Хозрасчетный_по_коду] в закладке "Конвертация значений" добавляешь элемент соответствия значений. Выбираешь счет приемника [КассаОрганизации]
4. Создаешь и устанавливаешь Источник [50.01]
Прикрепленные файлы:
aaa_pol; Maximus4671; bo0s; jeyrico; MrsMastersan; WolfKgn; serega9507585993; +7 Ответить
9. пользователь 18.11.10 17:57
В итоге должен получить следующее:
Прикрепленные файлы:
Deniskinr83; hunterok; support; +3 Ответить
25. yokko 56 11.01.12 00:44 Сейчас в теме
Подскажите как изменить стандартные правила обмена ут10.3 и бп2.0. Чтобы группе номенклатыры в ут сопоставить одну номенклатуру в бп? Пробовала через правила конвертации объектов. Брала правило номенклатура и в свойствах полей по которым идет поиск ставила галочку получить из входящих данных. Затем в обработчике события перед выгрузкой добавила код
Если Источник.ВидНоменклатуры.Наименование = "Запчасти" тогда
Номенклатура = Справочники.Номенклатура.найтиПоКоду(00000000009);
ИначеЕсли Источник.ВидНоменклатуры.Наименование = "Материалы" тогда
Номенклатура = Справочники.Номенклатура.найтиПоКоду(00000000030);
Иначе Номенклатура = Источник;
КонецЕсли;

ВходящиеДанные.Вставить("Родитель", Номенклатура.Родитель);
ВходящиеДанные.Вставить("Наименование", Номенклатура.Наименование);
ВходящиеДанные.Вставить("ЭтаГруппа", Номенклатура.ЭтаГруппа);
ВходящиеДанные.Вставить("Код", Номенклатура.Код);

Но при выполнении обмна по новым правилам выходит сообщение обошибке
Ошибка в обработчике события ПередВыгрузкойОбъекта
ПКО = Номенклатура (Справочник: Номенклатура)
Объект = Втулка (Номенклатура)
Обработчик = ПередВыгрузкойОбъекта
ОписаниеОшибки = Значение не является значением объектного типа (Вставить)
ПозицияМодуля = (11)
КодСообщения = 41

Ошибка в обработчике события ПередВыгрузкойОбъекта
ПКО = Номенклатура (Справочник: Номенклатура)
Объект = Втулка (Номенклатура)
Обработчик = ПередВыгрузкойОбъекта
ОписаниеОшибки = Значение не является значением объектного типа (Вставить)
ПозицияМодуля = (11)
КодСообщения = 41

Ошибка получения свойства объекта из входящих данных
ПКО = Номенклатура (Справочник: Номенклатура)
ПКС = 2 ( --> Наименование)
Объект = Втулка (Номенклатура)
СвойствоПриемника = Наименование (Строка)
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = Обработка.ОбменДаннымиXML.МодульОбъекта(8231)
КодСообщения = 68

Ошибка получения свойства объекта из входящих данных
ПКО = Номенклатура (Справочник: Номенклатура)
ПКС = 3 ( --> Родитель)
Объект = Втулка (Номенклатура)
СвойствоПриемника = Родитель (СправочникСсылка.Номенклатура)
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = Обработка.ОбменДаннымиXML.МодульОбъекта(8231)
КодСообщения = 68

Ошибка получения свойства объекта из входящих данных
ПКО = Номенклатура (Справочник: Номенклатура)
ПКС = 4 ( --> ЭтоГруппа)
Объект = Втулка (Номенклатура)
СвойствоПриемника = ЭтоГруппа (Булево)
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = Обработка.ОбменДаннымиXML.МодульОбъекта(8231)
КодСообщения = 68

Ошибка в обработчике события ПередВыгрузкой (свойства)
ПКО = Номенклатура (Справочник: Номенклатура)
ПКС = 14 ( --> Код)
Объект = Втулка (Номенклатура)
СвойствоПриемника = Код (Строка)
Обработчик = ПередВыгрузкойСвойства
ОписаниеОшибки = Значение не является значением объектного типа (ВыгружатьКод)
ПозицияМодуля = (1)
КодСообщения = 55

Ошибка получения свойства объекта из входящих данных
ПКО = Номенклатура (Справочник: Номенклатура)
ПКС = 14 ( --> Код)
Объект = Втулка (Номенклатура)
СвойствоПриемника = Код (Строка)
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = Обработка.ОбменДаннымиXML.МодульОбъекта(8231)
КодСообщения = 68

Ошибка получения свойства объекта из входящих данных
ПКО = Номенклатура (Справочник: Номенклатура)
ПКС = 2 ( --> Наименование)
Объект = Втулка (Номенклатура)
СвойствоПриемника = Наименование (Строка)
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = Обработка.ОбменДаннымиXML.МодульОбъекта(8231)
КодСообщения = 68

Ошибка получения свойства объекта из входящих данных
ПКО = Номенклатура (Справочник: Номенклатура)
ПКС = 3 ( --> Родитель)
Объект = Втулка (Номенклатура)
СвойствоПриемника = Родитель (СправочникСсылка.Номенклатура)
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = Обработка.ОбменДаннымиXML.МодульОбъекта(8231)
КодСообщения = 68

Ошибка получения свойства объекта из входящих данных
ПКО = Номенклатура (Справочник: Номенклатура)
ПКС = 4 ( --> ЭтоГруппа)
Объект = Втулка (Номенклатура)
СвойствоПриемника = ЭтоГруппа (Булево)
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = Обработка.ОбменДаннымиXML.МодульОбъекта(8231)
КодСообщения = 68

Ошибка в обработчике события ПередВыгрузкой (свойства)
ПКО = Номенклатура (Справочник: Номенклатура)
ПКС = 14 ( --> Код)
Объект = Втулка (Номенклатура)
СвойствоПриемника = Код (Строка)
Обработчик = ПередВыгрузкойСвойства
ОписаниеОшибки = Значение не является значением объектного типа (ВыгружатьКод)
ПозицияМодуля = (1)
КодСообщения = 55

Ошибка получения свойства объекта из входящих данных
ПКО = Номенклатура (Справочник: Номенклатура)
ПКС = 14 ( --> Код)
Объект = Втулка (Номенклатура)
СвойствоПриемника = Код (Строка)
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = Обработка.ОбменДаннымиXML.МодульОбъекта(8231)
КодСообщения = 68
Показать
10. alex_4x 85 18.11.10 18:29 Сейчас в теме
Ух ты! Спасибо громадное за такое подробное описание!

Пока есть возможность, такой еще вопрос:
А если в ПКО Хозрасчетный_по_коду , добавить ПКС для этого ПКО параметр "Код" и поставить галочку "поиск" - то ведь можно обойтись тогда без пункта "Синхронизация значений" ?
Просто смущает то, что для справочника например, такой финт ушами работать не будет. Я например знаю, что мне надо элемент справочника по коду "00001" - "99999" , что же мне, в "Синхронизации значений" все их проставлять ? это нереально просто.
11. пользователь 19.11.10 08:58
В принципе можно и так, просто этот способ универсальный для планов счетов и перечислений, поэтому я его и использую, тем более у меня много обменов идет в 77, там с поиском по коду не получится.
А для справочников делаешь как ты написал, ставишь поиск по коду и в ПКС "Код" пишешь обработчик ПередВыгрузкой {Значение = Источник}, Источником у тебя будет переданная строка.
Alchemist; +1 Ответить
139. M_Volkov 5 07.02.19 10:22 Сейчас в теме
(11)
В принципе можно и так, просто этот способ универсальный для планов счетов и перечислений, поэтому я его и использую, тем более у меня много обменов идет в 77, там с поиском по коду не получится.

Беда с переносом не предопределенных счетов, созданных не в конфигураторе. КД2 для обмена 7-них баз создало в Плане счетов ПКО Основной, за полнело вкладку "Конвертация значений" только предопределенными счетами. При выгрузке давало ошибки: "Значение не найдено: 80.1", так со всеми не предопределенными счетами.
Создал новое ПКО Основной (старое переименовал в ОсновнойПредопределенный) с ПКС: Код, Наименование, ПометкаУдаления, с поиском по коду. А ПКС документов, которые содержат счета прописал (например, ПКС_ПриходныйОрдер_КоррСчет_ПередВыгрузкойСвойства):
Если ПустоеЗначение(Источник.КоррСчет) = 1 Тогда
	Отказ = 1;
ИначеЕсли Предопределенный(Источник.КоррСчет.Код) = 0 Тогда
	ИмяПКО = "Основной";
Иначе
	ИмяПКО = "ОсновнойПредопределенный";
КонецЕсли;

Функция Предопределенный, с параметром КодСчета - отдельно, на вкладке Алгоритмы/Запросы:
Если (КодСчета = "68.10")
 Или (КодСчета = "80.1")
 Или (КодСчета = "80.2") Тогда
	Возврат 0;
КонецЕсли;
Возврат 1;

После этого ошибки выгрузки: "Значение не найдено: 80.1"... исчезли, но не предопределенные счета не переносятся!?
Эта проблема решаема в КД2?
140. M_Volkov 5 08.02.19 13:33 Сейчас в теме
(11) Смотрю файл выгрузки, где счет предопределенный:
- <Свойство Имя="КоррСчет" Тип="ПланСчетовСсылка.Основной">
<Значение>86.3</Значение>
</Свойство>

а где нет:
- <Свойство Имя="КоррСчет" Тип="ПланСчетовСсылка.Основной">
- <Ссылка Нпп="42">
- <Свойство Имя="Код" Тип="Строка">
<Пусто />
</Свойство>
</Ссылка>
</Свойство>

Дописал в ПКС_Основной_Код_ПередВыгрузкойСвойства
Значение = Источник.Код;

стало:
- <Свойство Имя="КоррСчет" Тип="ПланСчетовСсылка.Основной">
- <Ссылка Нпп="10">
- <Свойство Имя="Код" Тип="Строка">
<Значение>80.1</Значение>
</Свойство>
</Ссылка>
</Свойство>

но не предопределенные счета не грузятся, пустые!? Что прописать в ПКО_Основной_ПослеЗагрузкиОбъекта?
12. alex_4x 85 19.11.10 09:02 Сейчас в теме
Спасибо большое! Буду очень ждать цикла статей по КД.
13. пользователь 19.11.10 09:05
Там больше конечно уделено внимание как из КД сделать полноценную систему обмена, точнее передача удаленных данных и работа с 77, что разработчики КД проигнорировали.
14. newman379 20.11.10 22:06 Сейчас в теме
Уважаемый bomba вы можете подсказать как из двух документов источника сделать один в приемнике? Нужно из УТ платежное поручение входящее и исходящее, перекинуть в бухгалтерию. У нас в бухгалтерии все платежки по дню должны входить в один документ - банковская выписка.
спасибо.
15. echo77 1882 21.11.10 22:17 Сейчас в теме
newman379, вы хотите, например "склеить" склеить платежное поручение входящее №001 и платежное поручение исходящее 001 и получить в базе-применике платежное поручение 001? Так или вы хотите чтобы из базы-источника оба вида документа переносились в платежное поручение в базе-приемнике?
16. newman379 22.11.10 01:03 Сейчас в теме
мы хотим чтобы все платежные поручения по дню из УТ при переносе создавали в бухгалтерии один документ, банковская выписка.
17. alex_4x 85 22.11.10 16:19 Сейчас в теме
я бы упростил формулировку задачи:
как имея соответствие

реквизит_Значение -> значение,
реквизит_ТипЗнч -> название типа в приемнике
реквизит_ПКО -> название Правила конвертации объекта

ТабличнаяЧасть_Название -> Таблица значений с тремя колонками для каждого реквизита по такому же принципу

Сформировать в приемнике документ (или справочник)
18. newman379 22.11.10 16:49 Сейчас в теме
alex_4x, а можно на примере.
19. пользователь 23.11.10 09:00
newman379 пишет:

Уважаемый bomba вы можете подсказать как из двух документов источника сделать один в приемнике? Нужно из УТ платежное поручение входящее и исходящее, перекинуть в бухгалтерию. У нас в бухгалтерии все платежки по дню должны входить в один документ - банковская выписка.

спасибо.


В правилах конвертации объектов формируешь правило ПКО_Выписка, где приемник будет (бухгалтерский ДокументСсылка.Выписка), а источник пустое значение, создаешь необходимые правила конвертации свойств у документа, в том числе табличную часть, источник так же пустой, но везде ставишь галочку "Получать из входящих данных".
В правилах выгрузки данных формируешь ПВД_Выписка правило конвертации ставишь ПКО_Выписка и способ - произвольный алгоритм, где формируешь структуру выгружаемого документа и присваиваешь значению ВходящиеДанные эту структуру. Фактически в ПКО_Выписка попадет структура с одноименными полями документа приемника.
natarezn; novosys; Vetal_Net; DiKAN79; +4 Ответить
20. newman379 24.11.10 00:20 Сейчас в теме
21. perevalsky 10 04.12.10 11:41 Сейчас в теме
Добрый день! Подскажите, пожалуйста, как создать справочник в 8.2, источником которого является таблица значений, которая заполняется из запроса по регистрам конф 7.7?
Сейчас сформирован ПКО, где источник пустой, а в приемнике стоит галочка "получить из входящих данных". В ПВД заполняется ТЗ... При выгрузке таблица заполняется правильно, но выдается сообщение, что выгружено элементов 0. В справочнике приемнике всего 2 параметра : наименование и владелец. Структура входящих данных:
ВходящиеДанные = СоздатьОбъект("СписокЗначений");
ВходящиеДанные.Установить("Владелец", );
ВходящиеДанные.Установить("Наименование", );

Текст ПВД перед обработкой:
ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений");
ВыборкаДанных.НоваяКолонка("Владелец");
ВыборкаДанных.НоваяКолонка("Наименование");
ТаблицаОстатков = ОстТМЦ(); // алгоритм ОстТМЦ
Если ТаблицаОстатков.КоличествоСтрок()>0 Тогда
Если ПустоеЗначение(ТаблицаОстатков.Номенклатура)=0 Тогда
ВыборкаДанных.НоваяСтрока();
ВыборкаДанных.Владелец = ТаблицаОстатков.Номенклатура.Родитель;
ВыборкаДанных.Наименование = ТаблицаОстатков.Размер+", "+ТаблицаОстатков.Цвет;
КонецЕсли;
КонецЕсли;
//СписокЗначений = СоздатьОбъект("СписокЗначений");
//ВыборкаДанных.Выгрузить(СписокЗначений,,,"Владелец,Наименование");
//ВыборкаДанных = СписокЗначений;
Честно говоря, уже сил нет придумывать, что нужно сделать, чтобы получилось... Буду очень благодарен за помощь!
22. пользователь 06.12.10 11:58
Выгрузка через "Входящие данные".

Создаем правило конвертации объекта(ПКО) с пустым источником, определяем реквизиты для выгрузки и поиска и создаем правила конвертации свойств(ПКС), у справочников с иерархией как минимум должен присутствовать реквизиты: [ЭтоГруппа], [Родитель] и любой уникальный реквизит например [Код] или [Наименование]. Устанавливаем признаки "Поиск" и соответственно "Получать из водящих данных".
(Рис.01)
В конвертации данных(КД) у ПКО, в ПКС которого в ПКС отмечены признаки "Получать из водящих данных" в закладке "Параметры получаемые из входящих" можно видеть их список, ибо при выгрузке сложных объектов(проводки бухгалтерии) приходится применять смешанные режимы выгрузки с источником и входящими данными.
(Рис.02)(Рис.03)
Тут же можно получить обработчик создания и заполнения структуры входящих данных(в 77 это список значений, в 8.х - структура).
Создаем правило выгрузки данных(ПВД) где определяем обработчик "Перед обработкой", можно написать два обработчика, где в обработчике "Перед обработкой" будет только получен набор данных, а в "Перед выгрузкой" поэлементно обработан, в случае 7.7 получается двойной проход по набору данных. Поэтому все делаем за один проход, получаем элемент справочника, готовим структуру "Входящие данные", заполняем ее и вызываем функцию "ВыгрузитьПоПравилу" в модуле выгрузке 7.7 можно посмотреть синтаксис ее вызова:
Функция ВыгрузитьПоПравилу(Источник, Приемник, ВходящиеДанные, ИсходящиеДанные, ИмяПКО = "", УзелСсылки = "", ТолькоПолучитьУзелСсылки = 0, НомерПКО = 0) Далее

Соответственно передаем в функцию нашу структуру и имя правила. Ибо мы непосредственно вызываем выгрузку объекта, то в обработчике ставим Отказ = 1, чем предотвращаем выполнение последующих обработчиков ПВД.
Текст обработчика "Перед обработкой":
//Всегда ставим отказ, чтобы не выполнялась стандартный вызов выгрузки
Отказ = 1;

ВрмВидКонтрагента = Перечисление.ВидыКонтрагентов.ЧастноеЛицо;

Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = 
	"
	|ТекущийЭлемент = Справочник.Контрагенты.ТекущийЭлемент;
	|ВидКонтрагента = Справочник.Контрагенты.ВидКонтрагента;
	|Группировка ТекущийЭлемент без групп;
	|Условие(ВидКонтрагента = ВрмВидКонтрагента);
	|"
	;

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
	Отказ = 1;
	Возврат Отказ;
КонецЕсли;

Пока Запрос.Группировка("ТекущийЭлемент") = 1 Цикл
	ВрмТекущийЭлемент = Запрос.ТекущийЭлемент;
	ВходящиеДанные = СоздатьОбъект("СписокЗначений");
	ВходящиеДанные.Установить("Наименование", ВрмТекущийЭлемент.Наименование);
	ВходящиеДанные.Установить("ЭтоГруппа", ВрмТекущийЭлемент.ЭтоГруппа());
	ВходящиеДанные.Установить("Родитель", ВрмТекущийЭлемент.Родитель);
	ВыгрузитьПоПравилу( , , ВходящиеДанные, , "Контрагенты");
КонецЦикла;
Показать

(Рис.04)
Сохраняем правила выгрузки в файл и текст модуля выгрузки для 7.7.
(Рис.05)
Прикрепленные файлы:
23. пользователь 06.12.10 12:07
Выгрузка через "Входящие данные".(продолжение...)
В конфигураторе 7.7 открываем модуль выгрузки, заменяем текст модуля выгруженным из КД.
(Рис.06)
Открываем 1С:Предприятеие и выгружаем данные.
(Рис.07)
Смотрим полученный файл.
(Рис.08)
Все выгрузилось кроме родителей, ибо ПКС [Родитель] ПКО [Контрагенты] конвертируется по этому же правилу, и соответственно необходимо передавать в него структуру "ВходящиеДанные". Пишем обработчик "При выгрузке" у ПКС [Родитель].
ВрмТекущийЭлемент = Значение;
Если ВрмТекущийЭлемент.Выбран() = 1 Тогда
	ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
	ИсходящиеДанные.Установить("Наименование", ВрмТекущийЭлемент.Наименование);
	ИсходящиеДанные.Установить("ЭтоГруппа", ВрмТекущийЭлемент.ЭтоГруппа());
	ИсходящиеДанные.Установить("Родитель", ВрмТекущийЭлемент.Родитель);
КонецЕсли;
Показать

(Рис.09)
Выгружаем правила, исправляем модуль выгрузки, выгружаем данные и проверяем полученный файл. Находим родителей =) Загружаем данные в 8.х и идем требовать премию у начальства О_о
(Рис.10)
Прикрепленные файлы:
24. perevalsky 10 07.12.10 14:46 Сейчас в теме
Спасибо огромное, за такой подробный ответ! Щас будем пробовать!
26. TINa78 25 21.06.12 17:56 Сейчас в теме
Коллеги, бьемся над сущей ерундой: помогите пожалуйста.
Выгрузка данных из ут 10.3 в БП 2.0.
Из документа оприходования делаем отчет производства за смену.
В табличной части приемника есть реквизит "Номенклатурная группа".
Его нужно заполнить элементов одноименного справочника с кодом "000001". Пробовала рекомендации из статьи - не получается. Может дело в том, что там табличная часть?
Используем встроенный обмен, т.е. изменяем правила в КД2, потом кидаем в общий макет УТ_БП.
27. Поручик 4674 21.06.12 18:11 Сейчас в теме
(26) Заполнять номенклатурную группу можно или в ПКС при выгрузке или перебром ТЧ после загрузки. Задачка элементарная.
28. Поручик 4674 21.06.12 18:14 Сейчас в теме
(26) ПКС При выгрузке
Значение = Справочники.НоменклатурныеГруппы.НайтиПоКоду("000001");
perepetulichka; +1 Ответить
30. TINa78 25 25.06.12 11:58 Сейчас в теме
(28) Поручик, такой вариант попробовали в первую очередь. не работает:(
29. пользователь 21.06.12 19:53
Читайте внимательно что пишет девушка. Суть проблемы, что нужно установитьреквизит в приемнике и он отсутствует в источнике.
В данном случае нужно в ПКО документа в событии ПослеЗагрузки пробедатся по табличной частм загружаемого обьекта и становить реквизит найденный по поиску по коду.
С телефона пишу. Сорри за ошибки.
31. TINa78 25 25.06.12 12:01 Сейчас в теме
(29) bomba, тоже пробовала писать следующее в ПКО в событии ПослеЗагрузки:
Для каждого СтрокаТЧ Из Объект.Продукция Цикл
ГруппаНоменклатуры = Справочники.НоменклатурныеГруппы.НайтиПоКоду("000000001");;
СтрокаТЧ.НоменклатурнаяГруппа = ГруппаНоменклатуры;
КонецЦикла;
32. Поручик 4674 25.06.12 12:04 Сейчас в теме
(31) И что, тоже не работает? А чему равна ГруппаНоменклатуры? Что возвращает Справочники.НоменклатурныеГруппы.НайтиПоКоду("000000001")?
33. TINa78 25 25.06.12 12:14 Сейчас в теме
(29) bomba, Спасибо. Все еще раз перепроверила - получилось. Всем спасибо, за обсуждение! Иногда нужно просто обсудить, чтобы мозги встали на место.
34. irishka77 25.06.12 13:53 Сейчас в теме
подписываюсь и жду статей
35. irishka77 25.06.12 16:51 Сейчас в теме
37. пользователь 03.07.12 01:52
(35) irishka77, кого на сайте нет?
36. agava911 27.06.12 16:43 Сейчас в теме
Добрый день. Помогите, пожалуйста. Переношу с помощью КД из комплексной 7.7 в комплексную автоматизацию 8.2 документ Приходный кассовый ордер, при этом необходимо переносить счет и субконто к нему. Счет переносится нормально, а вот субконто никак, при этом в перенесенном документе видно, что не определяется тип субконто. Как при загрузке определить тип субконто?
38. пользователь 03.07.12 01:56
(36) agava911, субконто нужно определять объектом "ключИзначение" где ключ - вид субконто, значение - значение субконто.
Вопрос не совсем понятен, в частности неясно причем тут приходник и субконто?
39. agava911 03.07.12 11:07 Сейчас в теме
(38) Уважаемый bomba, спасибо за ответ. В приходнике, если установлен тип операции - прочий приход денежных средств, то выбирается счет и субконто к нему. Соответственно, при переносе нужно перенести значение счета и субконто из 1С 7.7 в 1С 8.2. Неясность вопроса обусловлена тем, что изучаю КД с нуля самостоятельно, поэтому у меня много непонятных и, для специалиста, несложных вопросов.
Очень понравилась данная ветка форума с Вашими объяснениями по КД. Скажите, пожалуйста, где можно (или когда можно будет) посмотреть цикл статей по "Конвертация данных", о котором идет речь во 2 сообщении. На указанном сайте их нет и раздела "Статьи" нет. Многие будут благодарны, т.к. доходчивого материала по КД немного.
40. tindir 28.07.12 13:29 Сейчас в теме
По всей видимости столкнулся с подбоной проблемой. есть в источнике справочник Подразделения(Владелец,Код,Наименование) и в приемнике имеется такой же Справочник с такой же структурой, ха одним исключением - в источнике владелец-СправочникСсылка.структура(отражает изменение структуры в предприятии. Ссылка на саму организацию храница в реквизите это справочника), а в приемнике владелец -СправочникСсылка.организации (список организации вообще).Так вот. надо выгрузить в приемник данные по одному владельцу. Не могу понять как это сделать. Судя по постам выше надо при выгрузке правил(или данных, тут тоже в голове пока путаница) заменить владельца. Но как? не знаю.
41. пользователь 28.07.12 15:43
(40)
1. Если уже есть ПКО "Организация -> Организация", то иправте его, или создайте новое, т.е. нужно использовать ПКО в котром источника и приемник Организация.
2. Далее в ПКО "Подразделения" находите ПКС "Владелец" и удаляете источник у этого свойства(Структура организации), т.е. оставляете его пустым и выбираете ПКО "Организация -> Организация".В обработчике этого свойства "Перед выгрузкой" прописываете код получения ссылки на организацию:
Значение = Источник.Владелец.Организация;

Т.о. при выгрузке объекта Подразделение, конвертация дойдет до свойства Владелец, выполнит ваш код и получит ссылку на объект Организация, который выгрухится по правилу "Организация -> Организация" и сохранится в файл. В свою очередь в файле и при загрузке объект Подразделение уже будет с владельцем типа "Организация".

Фильтровать только по одной организиции такую конструкцию можно по разному, все зависит от состава выгружаемых данных. Если вы хотите выгрузить только справочник Подразделения, то можно наложить фильтр только на этот справочник. Если скажем вы выгружаете проводки за год, то соответсвтенно искать вхождения всех документов по подразделениям с требуемой организацией.
46. tindir 31.07.12 07:39 Сейчас в теме
(41) bomba, следовал вашему совету. но получил ошибку в процессе выгрузки данных. Ошибка в обработчике события ПередВыгрузкой (свойства).
http://smotr.im/6hUJ это ссылка на скриншоты с последовательностью моих действий. Как я начинаю понимать в моем случае проще заменить владельца в момент выгрузки данных в приеник. т.к. в базе приемника уже есть заполненный справочник "организации"и в нем есть необходимая для меня организация.

и как оказалось нельзя заменять владельца напрямую. при выгрузке. пишет что реквизит запрещен на именение. Может есть какие-то варианты скормить в справочник приемник таблицу значений, сформированную из запроса как мне надо и с необходимыми типами данных?
47. пользователь 01.08.12 18:58
(46)
1. Пишет что у объекта типа СправочникСсылка.Структуры нет реквизита Организация. На скринах не видно структуры этого справочника, вероятно реквизит называется иначе. ИМХО этот путь проще.
2. В ПКО можно передавать строку таблицы значений, структуру и т.д. Целиком таблица может быть только в ПВД(правиле выгрузки) в нем можно переопределять массив выгружаемых данных на свой, по сути результат запроса и далее КД сама будет перебирать строки в этом массиве и передавать в указанное в настроках ПКО. Для этого нужно в обработчике "ПередВыгрузкой" правила выгрузки написать:
ВыборкаДанных = МойНаборДанных;

МойНаборДанных - может быть Запрос, Результат запроса, Выборка из результата запроса или произвольная коллекция выгружаемых объектов, в том числе таблица значений, набор строк регистра и т.д.
Не забываем установить в ПВД способ выгрузки данных - Произвольный алгоритм. Если определить данную переменную, то обход коллекции и выгрузка объектов будет осуществляться автоматически.
Важно:
Если для выборки данных ПВД используется произвольный алгоритм и в обработчике ПВД "Перед обработкой" инициируется параметр ВыборкаДанных, то для ПКО следует установить признак "Не запоминать выгруженные объекты"
48. tindir 07.08.12 07:23 Сейчас в теме
(47) bomba, ого...то есть можно вообще в объекты грузить произвольные данные. как пример : получаю запросом ТЗ, передаю ее в "ВыборкаДанных" и все. из этой выборки КД сама все распихает по местам? причем как понимаю обязательным условием должна быть сохранена в "ВыборкаДанных" структура приемника. так так же кажется проще при сложно выкрученных выгрузках :-)
49. пользователь 09.08.12 14:59
(48)
Да. Я таким образом через конвертацию сделал обмен с Парус, по сути прямые запросы в Oracle. В правиле выгрузке Перед выгрузкой выполняется запрос,поля которого соответствуют реквизитам объекта, далее он скидывается в ТЗ и присваивается переменной ВыборкаДанных. Далее конвертация делает все сама )))

В итоге готова интеграция со сторонней системой без написание доп. обработок.
50. tindir 10.08.12 08:10 Сейчас в теме
(49) bomba, О! отлично. а тогда хочу закрепить знания =) я в кд пишу запрос, выгружаю в тз (структура будет повторять структуру справочника/регистра в азе приемнике), назначаю ВыборкеДанных эту таблицу и все. после выгрузки загрузки я получу внутри приемника то что я брал в запросе?
а как тогда сохранить при таком методе ссылочную целостность? т.е. если у меня, например, справочник имеет подчиненые спр-ки или использует перечисления. на ум приходит только делать пакетом и грузить все правила сразу?
51. insurgut 207 10.08.12 10:28 Сейчас в теме
(50) tindir, прописываешь правила конвертации для всех объектов, на которые есть ссылки
52. пользователь 10.08.12 10:51
(50)
Создаешь ПКО для ссылок входящих в объект. Если уверен, что объекты по ссылкам есть в приемнике ставь галку "Не выгружать объекты по ссылкам".
42. daho 8 28.07.12 16:00 Сейчас в теме
Насколько я помню, возможно не совсем точно - один знакомый делал это через хитрую последовательность действий, используя отладчик и предопределенные процедуры. Посему полностью автоматизировать обмен на тот момент не удалось. Может уже что и поменялось..
43. insurgut 207 28.07.12 23:01 Сейчас в теме
Если значение реквизита заполняется уже в приемнике - зачем ПКС теребить? После загрузки объекта достаточно написать код:
Объект.Реквизит = чему он там равен;
44. пользователь 29.07.12 00:24
(43)
Вы совершенно правы, зачем все усложнять? Вероятно, мы не так дальновидны (((
Только вы забыли в своем примере уточнить, что "чему он там равен" не набор символов, а ссылка, которую нужно для начала получить. Например так(скажем справочник Организации):
СправочникМенеджер = Справочники.Организации;
СправочникСсылка = СправочникМенеджер.НайтиПоКоду("ВотТутМожноНаписать_КакойТоТамКод", , ОйТутДолжнаБытьСсылкаНаРодителяЕеТожеНужноСначалаНайтиИлиСоз­дать, ОйТутДолжнаБытьСсылкаНаВладельцаЕеТожеНужноСначалаНайтиИлиСо­здать);

потом нужно проверить на существование такого элемента и если он отсутствует создать:
Если СправочникСсылка = Неопределено Тогда
  СправочникОбъект = СправочникМенеджер.СоздатьЭлемент();
  СправочникОбъект = "ВотТутМожноНаписать_КакойТоТамКод";
  СправочникОбъект.Записать();
  СправочникСсылка = СправочникОбъект.Ссылка;
КонецЕсли;

Теперь все отлично. После загрузки объекта устанавливается значение реквизита и если оно не было найдено в приемнике - создается. Однако... А если реквизитом является владелец загружаемого объекта и конечно же по нему осуществляется поиск в приемнике? Вероятно опять вернемся к вашему примеру и создадим новый элемент, т.к. владелец не задан, и уже после его создания(по вашему вызовется событие после загрузки) установим ему владельца - занавес...
И еще расскажу вам немного про оптимизацию. Так вот если действовать ранее(не вами) описанными способами, то выгружается объект единожды после чего во все реквизиты где он должен присутствовать подставляется внутренний(КД) номер ранее выгруженного объект(по сути кеш) дабы не выгружать один и тот же объект повторно. И загрузка осуществляется аналогичным способом, если объект был при загрузке идентифицирован(найден или создан) он также кешируется по номеру объекта в файле и в реквизиты подставляется ссылка на объект.
Теперь представим вам поставили задачу: выгрузить все проводки холдинга ГазПром за 4 года из базы в базу. Скажем в старой базе не велся учет по организациям, а в новую базу нужно все перелить и установить в каждой операции реквизит Организация с кодом "01". Вы пишете свой код после выгрузка объекта ОперацияБух и ищете ссылку на элемент Организация с кодом "01" и устанавливаете его. Все отлично. Запускаете выгрузку - загрузку. Операций сримерно 10 000 000 и вы ждете час... два... день... три дня... В чем же дело!?
А может быть в том, что поиск ссылки на элемент Организация с кодом "01" выполняется 10 000 000 раз? Или нет?
Подумайте пожалуйста перед тем как писать подобные замечания.
ЗЫ: Я уже не пишу про возможность устанавливать в ПКС при выгрузки различные значения того же кода и/или переопределять ПКО выгружаемого свойства скажем в зависимости от значения константы в источнике. Расскажите как вы узнаете значение константы источника ПослеЗагрузкиОбъекта в приемнике?
45. insurgut 207 29.07.12 07:59 Сейчас в теме
(44) bomba, Я как бы комментарий на саамый первый пост писал, прошу прощения что не уточнил =) В случае с владельцами - нужно пко организации делать только поиск и например подменять значение реквизита, по которому поиск осуществляется.
53. borrman 28.08.12 19:33 Сейчас в теме
Добрый день, коллеги.
Вопрос следующий:
нужно при конвертации данных из одной конфигурации в другую заполнить табличную часть предопределенного элемента справочника, который есть только в приемнике.

Т.е.
Источник: справочника нет вообще.
Приемник: есть справочник "НаборыДополнительныхРеквизитовИСведений" и есть предопределенный элемент "Справочник_Номенклатура".
В этот элемент (в его табличную часть "ДополнительныеРеквизиты") нужно записать ссылки на выгруженные свойства.
Т.е. нужно найти предопределенный элемент по его имени.

Сделал варианты заполнения "ПослеЗаписи" ПланаВидовХарактеристик, но для каждого объекта метаданных, которые поддерживают доп. свойства, не хочется делать свой ПВО для планаВидовХарактеристик.
54. aosolya 50 27.09.12 12:59 Сейчас в теме
Ребята, кто-нибудь знает как из одной бызы в другую перенести реквизит, если в базе из которой переносим у него тип: СправочникСсылка а в другой Строка?Точнее там составной тип СправочникСсылка и Строка, если я в ПКО задаю тип приемника строка он ругается и говорит, что Значение не является значением объектного типа. Помогите пожалуйстаааа!!!
Прикрепленные файлы:
55. tritonof 65 01.10.12 12:48 Сейчас в теме
Добрый день! Задача следующая, В Правила ЗУП-БП20 хотел сделать доработку, в конфигурацию ЗУП добавил Регистр Сведений "СоответствиеПодразделенийСБП", Для того чтобы при загрузке в БП их подменять на нужные. Начал с документа ОтражениеЗарплатывРегУчете, добавил в ТабличнуюЧасть "ОтражениеВУчете" реквизит "КодПодразделенияБПДт" поставил у него "передавать данные в параметр", в ПКС в обработчике события "Перед выгрузкой" написал Значение = ОбъектКоллекции.ПодразделениеОрганизацииДт.Код;, попытался выгрузить (хотел посмотреть запишет он туда что нибудь или нет) выдал ошибку:
Ошибка получения значения свойства подчиненного объекта (по имени свойства приемника)

ПКО = ОтражениеВУчете (ОтражениеВУчете --> ОтражениеВУчете )
ПКС = 74 ( --> КодПодразделенияБПДт)
Объект = (Контрагенты)
СвойствоПриемника =
ОписаниеОшибки = Поле объекта не обнаружено (Контрагенты)
ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML(8186)
КодСообщения = 17

Причем тут "Контрагенты"?
если делал также не для табличной части все получалось
А вот как сделать тоже самое для своего параметра табличной части?
56. SSantos 06.10.12 07:51 Сейчас в теме
Добрый день! Есть базы ТД6.0 и БП1.6 Конвертация возвратных накладных сделана так, что одна накладная из ТД может раскидывается в несколько накладных в БП в связи с разными основаниями прихода товара. При этом единственное что точно идентифициреут источник.ВозвратнаяНакладная и приемник.ВозвратнаяНакладная - в БП в документе ВозвратнаяНакладнаяПоставщику в поле коментарий указано из какой возвратной сделаны новые возвраты. Проблема в том, что в документе "счет-фактура выданная" в БП нужно указывать эти новые накладные. Т.е. я понимаю что нужно как-то по полю коментарий найти в базе приемник накладные и их включить в список значений счет-фактура выданный. Немогу понять с чего начать... Поскажите пожалуста?
57. пользователь 02.11.12 16:13
Сообщение было скрыто модератором.
...
58. пользователь 02.11.12 16:23
Сообщение было скрыто модератором.
...
59. пользователь 02.11.12 16:25
Сообщение было скрыто модератором.
...
60. пользователь 02.11.12 16:25
Сообщение было скрыто модератором.
...
63. User202 27.03.13 15:45 Сейчас в теме
Добрый день! Помогите, не могу сообразить куда копать.. есть выборка данных, которую надо загрузить в бух. 2.0 в виде бух.операции. Но проблема возникла в том, что в базе приемника получаемое субконто должно быть Номенклатура, а в базе источника это справочник Модели, как подменить модели на номенклатуру?
64. User202 27.03.13 15:51 Сейчас в теме
выгрузить Модель в номенклатуру я могу, он создается, но мне нужно в проводку подставить выгружаемый новый элемент
65. umorochka 02.04.13 09:32 Сейчас в теме
Добрый день. Подскажите пожалуйста как поменять Владельца? Есть договоры контрагента1 в источнике. Нужно перегрузить договоры в приемник, но что бы владелец был контрагент2.
66. maulo_07 13.06.13 18:21 Сейчас в теме
Помогите пожалуйста!
Обмен из УТ в БП. Проблема в том. Что надо перенести документ(источник), в котором в принципе нет проводок, но есть вся нужная информация, как раз таки для создания проводки(приемник, операции бух).

Все бы хорошо. Но как заполнить субконто?

1. Создала правило. Документ > Бух Операция.
2. Добавила ПКС "Хозрасчетный";
3. Создала КоллекциюОбъектов, т.е. нужных колонок.
4. Все заполняю, но не могу заполнить субконто.

Выдает: Значение не является значением объектного типа (Приемник).
А как я понимаю ошибка ключе так как в источнике у меня нет ПланаВидовХарактеритика.Видысубконто, но как тогда определить ключ? Так же и соответствием делала.

ТаблицаСубконтоДт = Новый ТаблицаЗначений;
ТаблицаСубконтоДт.Колонки.Добавить("Ключ");
ТаблицаСубконтоДт.Колонки.Добавить("Значение");

СтрокаСубконто = ТаблицаСубконтоДт.Добавить();
СтрокаСубконто.Ключ = Новый Структура("Код", "00005");
СтрокаСубконто.Значение = Выборка.Контрагент;

Подскажите, натолкните на мысль))
69. пользователь 16.07.13 01:20
(66) maulo_07,
Делать правило для ПВХ без приемника и передавать в это правила имя ВидаСубконто. В правиде ПВХ искать по наименованию, прописав в свойстве Наименование код: Значение = Источник;
67. TbSasha 30.06.13 06:08 Сейчас в теме
У меня в справочнике в одной колонке одинаковые данные. В КД по ней у меня поиск. И получается если объект найден то он записывает в первый же найденный и переходит к другому. То есть вот в справочнике:
мышка |2|
клава |2|
телефон |2|
У меня получается что данные запишутся в первую строку где мышка а дальше поиска по цифре 2 не будет. Понятно объяснил? Кто знает подскажите пожалуйста как это сделать?
68. YODDHA 49 11.07.13 07:42 Сейчас в теме
самое простое
в ПКС указать приемник, не указывая его источник
и написать
при выгрузке
Выражение = "50";
70. TbSasha 14.09.13 20:45 Сейчас в теме
Вот хочу перенести номенклатуру из УТ 11 в УТ 11. Номенклатура переносится но вот фотки и присоединенные файлы нет. Справочник "НоменклатураПрисоединенныеФайлы"и регистр "ПрисоединенныеФайлы" в правила добавил. В файле выгрузки они тоже есть и
</Свойство><Свойство Имя="ХранимыйФайл" Тип="ХранилищеЗначения">
<Значение>AQFWAAAAAAAAAO+7v3siIyIsZTZmNTE3MTQtOTFjYi00ZGNlLT­k0ZmUtOTBhZTNl

M2UxYWQxLA0KezMsMywNCnswfSwiIiwtMSwtMSwwLA0Kew0KezB9DQp9LDB9­DQp9

AAAAAPEQAAAAAAAA/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUE­BAQF


данные в регистре сведений тоже есть. Но они не загружаются! Не подскажите может надо что то дописать в правила? Может для измерения регистра "ПрисоединенныйФайл" надо как то указать тип справочник "НоменклатураПрисоединенныеФайлы"?
Сам в правила ни какой код не дописывал.

После переноса при открытие номенклатуры выходит вот такая ошибка:

{ОбщийМодуль.ПрисоединенныеФайлы.Модуль(148)}: Ошибка открытия файла:
"jpg_16.".

Файл не найден в хранилище файлов.
Возможно файл удален антивирусной программой.
Обратитесь к администратору.
ВызватьИсключение ФайловыеФункцииСлужебныйКлиентСервер.ОшибкаФайлНеНайденВХранилищеФайлов(
71. TbSasha 15.09.13 06:23 Сейчас в теме
72. Зеленоград 27.09.13 16:05 Сейчас в теме
(71) TbSasha, интригуешь, рассказывай.
73. TbSasha 27.09.13 21:04 Сейчас в теме
(72) забыл я как решил:) Толи забыл регистр "ПрисоединенныеФайлы" в правила выгрузки добавить или в справочнике "НоменклатураПрисоединенныеФайлы" реквизит "ТипХраненияФайла" забыл перенести. Если конечно очень надо могу повспоминать еще:)
136. elga2012 26.10.16 13:42 Сейчас в теме
(73) годы идут, ошибки не меняются.. та же фигня, не знаю как справиться :(
74. Lo1jke 11.11.13 23:54 Сейчас в теме
Коллеги,

Кто-нибудь сталкивался с задачей переноса данных из источника (справочник 7.7) со свойствами реквизитов в справочник УТ 11. Нужно представить каждый реквизит источника как дополнительное свойство в приемнике. Никак не могу понять как работать со дополнительными свойствами через правила конвертации.

Если есть какой-то пример, буду очень благодарен!
75. adva 45 12.11.13 10:01 Сейчас в теме
(74)
в реквизиты сихронизации свойств добавялешь группу (ПКГС). В качестве приемника в ней указываешь табличную часть "ДополнительныеРеквизиты" (или как она там называется). В группе в событии "ПередОбработкой" заполняешь коллекцию свойств КоллекцияОбъектов (обычно ТЗ, с такими же колонками, которые ты указал в свойствах приемника для этой группы свойств).
76. Lo1jke 12.11.13 10:06 Сейчас в теме
(75) Спасибо, я сейчас попробую. Только про группу (ПКГС) не понял. Это что за зверь такой?
77. Lo1jke 12.11.13 17:21 Сейчас в теме
(75) Пробую как Вы посоветовали. Столкнулся с непониманием (затуп). Сформировать обработчиком ТЗ я могу, только в ТЗ 2 из 3 полей - это ссылки на справочник и ПВХ из источника? Как-то можно описать поиск ссылки в источнике(уже на загрузке)?
78. adva 45 20.11.13 12:46 Сейчас в теме
79. adva 45 20.11.13 12:47 Сейчас в теме
Зачем именно на этапе загрузки поиск? Хотя можно. Для этого есть обработчик события "ПоляПоиска" в ПКО
80. adva 45 20.11.13 12:50 Сейчас в теме
Для ссылки просто указывается нужное ПКО (можно в зависимости от условий
81. alf2006x 25 25.12.13 14:51 Сейчас в теме
День добрый.

Сделал всё как в исходном примере, но видимо не всё. При загрузке правил обмена в УТ ругается на:
Ссылка на несуществующий объект метаданных в правилах обмена
Объект = Строка
ОписаниеОшибки = Значение не является значением объектного типа (ПКО)
ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(2176)
КодСообщения = 11

Подскажите плиз что посмотреть. У меня "цейт нихт"
82. alf2006x 25 25.12.13 16:52 Сейчас в теме
Вопрос снят.
Удивительно, но после того, как я сделал пустым Объект информационной базы источника в ПКО "Хозрасчетный_По_Коду" - всё заработало.
Правда на закладке "Конвертация значений" строки стали почему-то красными.
83. pavlo 11.03.14 22:19 Сейчас в теме
Не подскажете, как сделать так:
В источнике нет реквизита, а в приемнике это поступление на расчетный счет, но способ погашения задолженности нужно проставить предопределенное из перечисления. Может проблем и не было, но на форме в приемнике это поле одно, а в документе в структуре это поле в табличной части РасшифровкаПлатежа.
Вот и не понятно как заполнить значение предопределенным в таблице только в приемнике?
Пытался сделать пусто со стороны источника, со стороны приемника это поле.
В при загрузке в созданном там правиле сделал типа:
Объект.СпособПогашенияЗадолженности = Перечисления.СпособыПогашенияЗадолженности.Автоматически;
но выгрузка падает с ошибкой, модуль заменял :(

Начало выгрузки: 13.03.14 00:50:48
Значение = Объект.ПолучитьАтрибут(Имя);
{D:\BASE\RULES\V77EXP.ERT(1880)}: Неверное имя атрибута
84. пользователь 20.03.14 21:45
(83) pavlo, Фраза
Пытался сделать пусто со стороны источника, со стороны приемника это поле.
- разорвала миллионы синапсов в моем правом полушарии %(
85. Varangian 08.04.14 17:12 Сейчас в теме
День добрый!
Подскажите где в стандартных правилах обмена УТ11->БП2 значение поля Количество для всех документов округлить до целого значения. Правила последние для этого обмена.
Заранее спасибо!
86. Varangian 08.04.14 17:13 Сейчас в теме
Управление торговлей, редакция 11.1 (11.1.5.8)
Бухгалтерия предприятия, редакция 2.0 (2.0.57.3)
87. adva 45 09.04.14 06:56 Сейчас в теме
(86) скорее свсего только в конвертации данных. Заходити в ПКО документа в ПКГС табличной части , и пишите для ПКС Количество в правиле перед выгрузкой Значение = ОКр(...);

Или можно попробовать в событии после загрузки объекта (это в самой конвертации обработчик), прописать общий для всех код обработки таб. частей (если они конечно одинаково называются)
88. insurgut 207 09.04.14 09:43 Сейчас в теме
Все верно, подменять значение получится только при выгрузке значения самого реквизита. Придется для каждого документа раскрывать товары. Открывать реквизит количество и прописывать перед выгрузкой:
Значение = Окр(ОбъектКоллекции.Количество);

Только не забудьте, что для полноты картины вам и сумму необходимо будет изменять:
Значение = ОбъектКоллекции.Цена * Окр(ОбъектКоллекции.Количество);

В одном месте универсально сделать это не получится, придется для каждого необходимого документа это проделывать.
89. Varangian 09.04.14 09:48 Сейчас в теме
Спасибо, буду сейчас пробывать
90. adva 45 09.04.14 10:02 Сейчас в теме
я думаю все же, что для большинства объектов можно будет общий код прописать (хотя не для всех ТЧ). Почти в каждом доке есть ТЧ товары и реквизит Количество.

Хотя да, суммы есть не везде. Но в таком случае хоть и некрасиво, но зато быстро "попытка".
91. samlab 20 10.04.14 19:33 Сейчас в теме
Здравствуйте!
делаю переход 1,6 -2,0
Подскажите в спр.ПрочиеДиР 1.6 были добавлены элементы (не предопределенные), которые по коду совпадают с предопределенными элементами в 2.0 в результате чего ошибка "Значение поля "Код" не уникально". - что дописать в правилах конвертации, что бы при совпадении кодов с предопределенными, уже существующими в конфигурации элементами, загружаемым присваивался бы новый номер или, скажем, префикс некий?
Оставьте свое сообщение

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