Имя: Пароль:
1C
1С v8
запись во внешние источники данных(аналоги номенклатуры)
0 serg-lom89
 
30.08.18
10:14
Добрый день
Вопрос по внешним истончикам данных..
подключил ВИ как свою базу 1с.
получил таблицу РС "Аналоги номенклатуры".


поля 2 -тип двоичные данные.
и вот хочу добавить свои записи туда в таблицу.

функция получения ДВ товара номеклатуры
Функция ПолучитьДВ_Товара(ссылка)
    
    гуид =  ссылка.уникальныйИдентификатор();
    возврат Base64Значение(гуид);
    
КонецФункции


Сам код добавления

    ВнИст = ВнешниеИсточникиДанных.Базе1с.таблицы.dbo__InfoRg4834.СоздатьНаборЗаписей();
    
    
    ВнИст.Отбор.Номенклатура.ВидСравнения = видсравнения.Равно;
    ВнИст.Отбор.Номенклатура.Использование =Истина;
    ВнИст.Отбор.Номенклатура.Значение =Левое;
    
    
    
    ВнИст.Отбор.Аналог.ВидСравнения = видсравнения.Равно;
    ВнИст.Отбор.Аналог.Использование =Истина;
    ВнИст.Отбор.Аналог.Значение =Правое;
    
    
    
    ВнИст.Прочитать();
    Если  ВнИст.Количество() = 0 Тогда
        Стр = ВнИст.Добавить();
        стр.Номенклатура =  Левое;
        стр.Аналог =  Правое;
    КонецЕсли;
    
    Попытка
        ВнИст.Записать();
    исключение
        Сообщить(описаниеОшибки());
    КонецПопытки;
    
в исключение не попадает..
но почему то запись не добавляется..((
ЧЯДНТ?
1 serg-lom89
 
30.08.18
10:17
и да..я указал 2 ключа у этой таблица поскольку она необъектная
2 Пуля
 
30.08.18
10:18
Если  ВнИст.Количество() = 0 Тогда
3 serg-lom89
 
30.08.18
10:22
(2) и что не так?
4 Пуля
 
30.08.18
10:24
(3) Давай подумаем  ВнИст.Количество() что возвращает?
5 serg-lom89
 
30.08.18
10:26
(4) число
6 Пуля
 
30.08.18
10:28
(5) Какое?
7 serg-lom89
 
30.08.18
10:28
(6) 0
8 Пуля
 
30.08.18
10:34
Ладно, извините, ничего не понимаю
9 serg-lom89
 
30.08.18
10:37
(8) ну я думал что если добавлю в базу ,через внешний источник,тогда в моем регистре появиться запись с этими полями
10 H A D G E H O G s
 
30.08.18
10:41
(0) Может GUID не трансформируешь правильно?
11 H A D G E H O G s
 
30.08.18
10:42
12 H A D G E H O G s
 
30.08.18
10:43
(11) Только вам в обратном порядке.
13 serg-lom89
 
30.08.18
10:46
(12) т.е. 1с метод не подходит?
Вроде же ВИ истончик сам должен показать структуру и типы.
14 H A D G E H O G s
 
30.08.18
10:54
(13) Он и показывает структуру и типы, которые выдает ему провайдер СУБД.
15 H A D G E H O G s
 
30.08.18
10:55
А провайдер СУБД не знает, че такое этот ваш СправочникСсылка.
16 H A D G E H O G s
 
30.08.18
10:55
А в 1С у тебя объект ВнешнийИсточникДанных, а не ВнешнийИсточникДанныхИзДругойБазы1С
17 H A D G E H O G s
 
30.08.18
10:58
Поэтому никто ничего не знает, и, твоя задача, юный подаван, помочь двум системам подружиться...
Господи, че за чушь я несу.

Забей на ВнешниеИсточникиДанных, это нельзя так делать, и, скорее всего запрещено лицензионной политикой. И не просто так запрещено, а с умыслом, когда ты не соблюдешь какие-нибудь ньюансики записи в базу, например, после изменения регистра у тебя появится simplekey, который будет пуст и это приведет к потерям фирмы - 1С скажет - что насилуйте вашего прога.
18 H A D G E H O G s
 
30.08.18
10:59
Подними Вебсервис в базе - приемнике и передавай в него то, что ты хочешь записать.
19 Serg_1960
 
30.08.18
11:02
(0) Те, кто пытается Вам ответить, во-первых, не знают ни структуру регистра,  ни то, как Вы её отразили во внешнем источнике - Вы это ничего не озвучили. Т.е. все ответы на уровне развития телепатии. А мой телепат такой привередливый...

Единственно что он мне подсказал - так только ощущение, что Вы недостаточно полно понимаете как работать не только с ВИ, но и с РС (сомневаюсь что РС состоит только из двух измерений).
20 serg-lom89
 
30.08.18
11:05
(17) суть не в том что бы записать..суть в том  что бы проверить данную теорию.
21 serg-lom89
 
30.08.18
11:06
(19) в регистре 2 измерения
22 Serg_1960
 
30.08.18
11:08
Функция ПолучитьДВ_Товара(), имхо, неверная и перезаписывать существующие наборы (когда Количество()<>0) - не стоит. И вообще мне так кажется что тут более уместен МенеджерЗаписи.

(21) И ничего более? :)
23 Serg_1960
 
30.08.18
11:16
Ну и контрольный: Ваш алгоритм, возможно, может быть рабочим при COM-соединении :)
24 serg-lom89
 
30.08.18
11:19
(22) и ничего более
25 serg-lom89
 
30.08.18
11:19
(23) блин))))не хотелось бы через ком)
26 Serg_1960
 
30.08.18
11:33
(25) Я понимаю. Честное слово :) Для самообразования можно поэкспериментировать, но в качестве рабочего инструмента... ну не знаю, можно нарваться на неприятности...

Я лучше буду ориентироваться на Зазеркалье:
"Мы реализовали возможность добавления, изменения и удаления данных во внешних источниках. Сразу нужно оговориться, что этот механизм мы сделали для решения задач интеграции с другими приложениями. Не нужно пытаться использовать его для замены «платформенного» механизма хранения данных прикладного решения."
27 serg-lom89
 
30.08.18
11:43
(26) да да ...я это читал)
но как говориться почему бы и нет..))
28 Serg_1960
 
30.08.18
11:57
Я ж не запрещаю - пробуй :)
Только там не так всё просто, будет проблема работы с ссылками. Их, как минимум, нужно не конвертировать из ссылок своей базы, а искать и получать из базы внешнего источника данных (т.е. связать только регистр сведений - недостаточно). В принципе ничего сложного - обрабатывать ссылки так-же так, как когда напрямую работаешь с SQL-таблицами.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший