|
КД и ЗначенияСвойствОбъектов.Объект | ☑ | ||
---|---|---|---|---|
0
Mikhail Volkov
24.08.12
✎
17:06
|
Надо в базу приемника писать РС ЗначенияСвойствОбъектов. В ПКО После загрузки вставил:
Запрос.Текст = " |ВЫБРАТЬ | ЗначенияСвойствОбъектов.Значение Как ЗначениеСвойства |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Объект = &Объект | И ЗначенияСвойствОбъектов.Свойство = &Свойство"; Ну и получил ошибку: ОписаниеОшибки = Ошибка при вызове метода контекста (Выполнить): {(7, 36)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной длины и поля несовместимых типов. ЗначенияСвойствОбъектов.Объект <<?>>= &Объект Как обойти проблему? |
|||
1
acsent
24.08.12
✎
17:07
|
>>Как обойти?
Закажи такси |
|||
2
luckyluke
24.08.12
✎
17:08
|
>>Неверные параметры в операции сравнения
Передать верные параметры для начала попробовать, а что надо я так и не понял. |
|||
3
andrewks
24.08.12
✎
17:11
|
телепатирую: передавать надо ссылку
|
|||
4
Mikhail Volkov
24.08.12
✎
17:14
|
(3) Да, но в конфиге прописано ЗначенияСвойствОбъектов.Объект !
|
|||
5
luckyluke
24.08.12
✎
17:14
|
(3) меня больше интересует "Надо в базу приемника писать" + "В ПКО После загрузки вставил" и запрос на получение. Так надо писать или получать, что-то не пойму.
|
|||
6
luckyluke
24.08.12
✎
17:15
|
(4) Как думаешь, это серьёзная недоработка?
|
|||
7
andrewks
24.08.12
✎
17:16
|
(5) я списал это на пятницу
|
|||
8
andrewks
24.08.12
✎
17:17
|
+(7) ибо, судя по сообщению об ошибке, запрос-то у него каким-то образом выполнился
|
|||
9
Mikhail Volkov
24.08.12
✎
17:17
|
(5) Сперва прочитать, получить запись из РС... или сразу писать независимо есть она или нет?
|
|||
10
luckyluke
24.08.12
✎
17:18
|
(7) тоже верно, у меня то с телепатией дела плохи.
|
|||
11
luckyluke
24.08.12
✎
17:20
|
(8) я думаю, что он переносит какой-то справочник и в ПослеЗагрузки выполняет запрос без(или с кривыми) параметров на проверку наличия записи судя по (9)
|
|||
12
andrewks
24.08.12
✎
17:24
|
(9) ты поля поиска укажи правильно, а КД уж сама разберётся - сразу, или не сразу
|
|||
13
acsent
24.08.12
✎
17:26
|
такси все-таки дешевле будет нанять ))
|
|||
14
Mikhail Volkov
24.08.12
✎
17:27
|
+(9) сейчас у меня:
Если ЗначениеЗаполнено(Объект.Партнер) Тогда Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ЗначенияСвойствОбъектов.Значение Как ЗначениеСвойства |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Объект = &Объект | И ЗначенияСвойствОбъектов.Свойство = &Свойство"; Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Партнер УТ11"); Запрос.УстановитьПараметр("Объект", Объект); Запрос.УстановитьПараметр("Свойство", Свойство); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Партнер = Неопределено; Пока Выборка.Следующий() Цикл Партнер = Выборка.ЗначениеСвойства; КонецЦикла; Если Партнер <> Объект.Партнер Тогда Если Партнер = Неопределено Тогда ЗаписьСвойство = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи(); ЗаписьСвойство.Объект = Объект; Иначе ЗаписьСвойство = Выборка.ПолучитьОбъект(); КонецЕсли; ЗаписьСвойство.Свойство = Свойство; ЗаписьСвойство.Значение = Объект.Партнер; Попытка ЗаписьСвойство.Записать(); Исключение Сообщить("Не удалось записать партнера " + СокрЛП(Объект.Партнер) + " в свойство договора " + Объект, СтатусСообщения.Внимание); КонецПопытки; КонецЕсли; КонецЕсли; Можно сразу писать? |
|||
15
Mikhail Volkov
24.08.12
✎
17:29
|
С УПП обмен, партнер с св-вах договора
|
|||
16
echo77
24.08.12
✎
17:37
|
Тип значения, хранящегося в переменной объект какой?
Можно посмотреть так: Сообщить("Объект: "+Объект+"("+ТипЗнч(Объект)+")"); |
|||
17
Mikhail Volkov
24.08.12
✎
17:49
|
(16) обычная ссылка, но в запросе прописал: ЗначенияСвойствОбъектов.Объект = &Объект - как в конфиге, а в КД нельзя писать Объект!
|
|||
18
GenV
24.08.12
✎
18:03
|
(17) Уверен, что объект это обычная ссылка, а не обычный объект?
|
|||
19
Mikhail Volkov
25.08.12
✎
04:21
|
(18) В УПП1.3 РС ЗначенияСвойствОбъектов имеет 2 измерения: Объект и Свойство, где Объект - ссылка на объект, название измерения так прописано в конфигураторе. А для КД Объект - ключевое слово его языка. Поэтому выкидывает ошибку.
|
|||
20
Йохохо
25.08.12
✎
08:41
|
(19) "Запрос.УстановитьПараметр("Объект", Объект.Ссылка)" сколько в этой фразе ключевых слов "Объект" в УПП 1.3 для КД 2.1?
вообще, по твоему коду, РС избыточен и нафиг не нужен, т.к. данные есть в реквизите объекта-Х и ваще, объект не всегда вот прямо Объект, а иногда лука мешок |
|||
21
Mikhail Volkov
25.08.12
✎
14:31
|
(20) Неудачный пример, в строке "Запрос.УстановитьПараметр("Объект", Объект);" Объект как раз Объект КД загруженный из базы источника (а Объект.Ссылка - Объект базы приемника).
А вот в строке запроса "ЗначенияСвойствОбъектов.Объект = &Объект" Объект - имя ссылки заданное конфигуратором, и КД его не правильно воспринимает. В этом проблема. Насчет избыточности согласен. Для старого варианта обмена Партнер был реквизитом. Потом решили его (и не только его) сунут в свойства. Но вот при конвертации реквизита (в источники) в свойство (в приемнике) проблемы возникли. |
|||
22
Mikhail Volkov
28.08.12
✎
13:40
|
А вот еще ошибку выдало при обмене РС, теперь КИ:
Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(4795)}: Ошибка записи объекта ТипОбъекта = Виды контактной информации Объект = Телефон физ.лица служебный ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Ошибка при попытке вставки записи с неуникальным значением ссылки. Microsoft OLE DB Provider for SQL Server: Нарушено "PK___Referen__AC8ED0C40F7C1D9B" ограничения PRIMARY KEY. Не удается вставить повторяющийся ключ в объект "dbo._Reference49". Повторяющееся значение ключа: (0xb9493d07ec2909514bd24a29a071e1b7). HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2627, line=1 Хотел в ПКО КонтактнаяИнформация поставить галочку "Искать по ГУИД", говорит: По идентификаторам могут синхронизироваться только объекты ссылочных типов! Синхронизация по идентификаторам ОТКЛЮЧЕНА! Что предпринять в этом случае? |
|||
23
Mikhail Volkov
28.08.12
✎
17:03
|
Отбой! Это дубль не РС, а справочника Виды контактной информации.
|
|||
24
Mikhail Volkov
28.08.12
✎
18:03
|
Еще проблемка образовалась. Надо алкогольную декларацию формировать по пиву за 1 и 2 кварталы. Тогда пиво не считалось алкоголем, продавалось из обычной УТ10.3. Теперь все что с пивом надо в УТАП перекинуть. Перекинул, с накладными поступления все ОК - там только пиво. А с продажами хреново, там не только пиво. Можно как-то в КД прописать, чтобы сигареты и прочие презервативы из накладной реализации выкидывались, оставалось только пиво?
|
|||
25
Йохохо
28.08.12
✎
18:08
|
в ПКГС Товары
если Презерватив(элементколлекции.номенклатура) = Да Тогда Отказ = Истина; конецесли; только перед записью придется пересчет тч сделать |
|||
26
Mikhail Volkov
29.08.12
✎
08:14
|
(25) Во всех доках Процедура ПередЗаписью() это делает, но там вписано:
Если ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; Как-то можно сбросить ОбменДанными.Загрузка в КД? Или лучше пересчет табличных частей переписать в КД "После записи"? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |