Гость
Форумы / [игнор отключен] [закрыт для гостей] / Перенос данных через com-соединение / 20 сообщений из 20, страница 1 из 1
13.03.2016, 11:55
    #39190807
duh_si
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
Доброго времени суток.

Имеются 2 конфигурации УПП и УПП1, обработка с com-соединением
необходимо перенести физические лица из одной в другую.

проблемы с переносом данных из реквизитов справочника не возникает,
проблема с переносом из реквизитов самой формы (см.рис) то что, обведено красным
подскажите, как можно перенести их?

Код: xml
1.
2.
3.
4.
5.
6.
7.
  //Connection - подключение к другой БД
        спр = Connection.Справочники.ФизическиеЛица.СоздатьЭлемент();
			 			 
	спр.Наименование = ЗаписьСтроки.ФизическиеЛица.Наименование;			 
	спр.ДатаРождения = ЗаписьСтроки.ФизическиеЛица.ДатаРождения;
      //и т.д
        Спр.Записать();
...
Рейтинг: 0 / 0
13.03.2016, 12:07
    #39190810
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
нельзя перенести реквизиты формы, нужно перенести записи регистра сведений ФИОФизЛиц
...
Рейтинг: 0 / 0
14.03.2016, 11:38
    #39191233
duh_si
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
пытаюсь сделать запись в регистр сведений

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
	 НаборЗаписей = Connection.РегистрыСведений.ФИОФизЛиц.СоздатьНаборЗаписей();
				
	 НаборЗаписей.Отбор.ФизЛицо.Установить(СсылкаФизЛица);
	 НаборЗаписей.Прочитать();
	 
	 НовЗапись = НаборЗаписей.Добавить();
	 НовЗапись.Фамилия = ЗапросРегистрСвед.Фамилия; 
	 НовЗапись.Имя = ЗапросРегистрСвед.Имя;
	 НовЗапись.Отчество = ЗапросРегистрСвед.Отчество;
	 НовЗапись.Период = ЗапросРегистрСвед.Период;
	 НовЗапись.ФизЛицо = СсылкаФизЛица; 

	 НаборЗаписей.Записать();



вываливается ошибка:
автор{Форма.Форма.Форма(34)}: Ошибка при вызове метода контекста (Записать)
НаборЗаписей.Записать();
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.6.2299): Запись не верна! Значение поля "Физическое лицо" не может быть пустым!: ФИОФизЛиц: 04.12.1990, (Регистр сведений: Фамилия, имя, отчество физического лица; Номер строки: 1)

в чем причина?
...
Рейтинг: 0 / 0
14.03.2016, 12:53
    #39191283
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
авторЗапись не верна! Значение поля "Физическое лицо" не может быть пустым!

вроде на русском написано
...
Рейтинг: 0 / 0
14.03.2016, 12:54
    #39191287
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
>НаборЗаписей.Отбор.ФизЛицо.Установить(СсылкаФизЛица);

внезапно окажется что СсылкаФизЛица - это местная ссылка, а не базы из Connection
...
Рейтинг: 0 / 0
16.03.2016, 00:05
    #39192807
duh_si
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
Совсем я в край запутался((

Допустим я записал ФизЛицо из БД УПП в УПП1,
Код: xml
1.
2.
3.
4.
5.
6.
7.
  //Connection - подключение к другой БД
        спр = Connection.Справочники.ФизическиеЛица.СоздатьЭлемент();
			 			 
	спр.Наименование = ЗаписьСтроки.ФизическиеЛица.Наименование;			 
	спр.ДатаРождения = ЗаписьСтроки.ФизическиеЛица.ДатаРождения;
      //и т.д
        Спр.Записать();



как мне его теперь от туда получить и передать в НовЗапись.ФизЛицо = ?
чтобы запись в регистр сведений нормально записалась
Код: xml
1.
2.
3.
	 НовЗапись.ФизЛицо = ?; 

	 НаборЗаписей.Записать();
...
Рейтинг: 0 / 0
16.03.2016, 07:00
    #39192865
slavik1c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
НовЗапись.ФизЛицо = спр.Ссылка;
...
Рейтинг: 0 / 0
16.03.2016, 08:42
    #39192898
duh_si
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
не работает, вываливается с ошибкой
автор{Форма.Форма.Форма(35)}: Ошибка при вызове метода контекста (Записать)
НаборЗаписей.Записать();
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.7.1845): Запись не верна! Значение поля не соответствует установленному отбору: ФИОФизЛиц: 04.12.1990, АААм Олег Вещий1 (Регистр сведений: Фамилия, имя, отчество физического лица; Номер строки: 1; Поле: ФизЛицо)
...
Рейтинг: 0 / 0
16.03.2016, 10:09
    #39192960
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
авторЗначение поля не соответствует установленному отбору

написано же
...
Рейтинг: 0 / 0
16.03.2016, 10:11
    #39192963
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
или крестик или трусы...

или нормально отборы ставить надо наборах записей или менеджерзаписи пользовать
...
Рейтинг: 0 / 0
16.03.2016, 10:36
    #39193002
duh_si
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
в 1С я только учусь и ещё не понимаю всех вещей.

я понимаю что проблема в отборе, а ещё в этом месте
НовЗапись.ФизЛицо = ?;

НаборЗаписей.Записать();

вот только не понимаю как там правильно все записать, по идеи отбор уже делается на стороне приемника
но как получить из приемника, ново-созданного ФизЛица? и передавать его и в отбор и куда ещё нужно.
...
Рейтинг: 0 / 0
16.03.2016, 10:39
    #39193007
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
duh_siв 1С я только учусь

ну так читайте буквари про регистры сведений, там все изжовано
...
Рейтинг: 0 / 0
16.03.2016, 10:51
    #39193023
duh_si
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
читаю.

в обычной ситуации, при записи в регистр, у меня не возникают трудности, а вот с ком-соединением, проблема.
...
Рейтинг: 0 / 0
16.03.2016, 11:00
    #39193037
duh_si
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
только на чтение (и понимание на того, что прочитал), уходит время, а задачу нужно сделать сейчас.
Если вы можете на пальцах объяснить, этот не понятный для меня момент, то сделайте пожалуйста, если нет ( ну нет, так нет )
...
Рейтинг: 0 / 0
16.03.2016, 23:17
    #39193907
duh_si
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
с предыдущей проблемой разобрался, теперь новая

как в этой НаборЗаписей.Тип = ???; строке правильно записать?

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
  ЗапросРегистр = Новый Запрос;
     ЗапросРегистр.УстановитьПараметр("Ссылка", СсылкаФизЛица);
     ЗапросРегистр.Текст = "ВЫБРАТЬ
                           |	КонтактнаяИнформация.Объект,
                           |	КонтактнаяИнформация.Тип,
                           |	КонтактнаяИнформация.Вид,
                           |	КонтактнаяИнформация.Представление
                           |ИЗ
                           |	РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
                           |ГДЕ
                           |	КонтактнаяИнформация.Объект.Ссылка = &Ссылка";
     ЗапросРегистрСвед = ЗапросРегистр.Выполнить().Выбрать();
       
     НаборЗаписей = Connection.РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
    			
     НаборЗаписей.Объект = спр.ref;
     НаборЗаписей.Тип = Connection.Перечисления.ТипыКонтактнойИнформации;
     НаборЗаписей.Вид = Connection.Справочники.ВидыКонтактнойИнформации;
  
     НаборЗаписей.Прочитать();
	 
	 Пока  ЗапросРегистрСвед.Следующий() Цикл
		 НаборЗаписей.Объект  = спр.ref;
		 НаборЗаписей.Тип = ???;
		 НаборЗаписей.Вид = Connection.Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию(ЗапросРегистрСвед.Вид);
		 НаборЗаписей.Представление = ЗапросРегистрСвед.Представление;

		 НаборЗаписей.Записать();
	 КонецЦикла;
...
Рейтинг: 0 / 0
17.03.2016, 10:12
    #39194102
duh_si
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
вопрос решен
Код: xml
1.
Запись.Тип = Connection.Перечисления.ТипыКонтактнойИнформации[Строка(ЗапросРегистрСвед.Тип)];
...
Рейтинг: 0 / 0
19.03.2016, 12:52
    #39195977
Александр Пузаков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
duh_si, лучше использовать конфигурацию "конвертация данных", там такое правило пишется за полчаса. Просто в обработчике выгрузки справочника физлиц получаете нужные наборы записей нужных регистров сведений, и выгружаете эти наборы через служебную процедуру конвертации ВыгрузитьПоПравилу(). В интернете примеров много.
...
Рейтинг: 0 / 0
19.03.2016, 14:36
    #39196015
MKZM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
По дргугму (стандартно) нельзя? Зачем, кроме нетрандартных, нужно? Ну если надо - алгоритм есть - и он стандартный..
...
Рейтинг: 0 / 0
19.03.2016, 14:38
    #39196016
MKZM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
MKZM,

Это стандартно.
...
Рейтинг: 0 / 0
29.03.2016, 21:09
    #39203654
Nick Perelyaev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос данных через com-соединение
duh_si,

Перенеси в представление, в приемнике все разложиться правильно
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Перенос данных через com-соединение / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]