Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 05.03.2018
Сообщений: 1
1

Обмен данными справочника Физ.лица через Com-соединение

05.03.2018, 10:56. Показов 1053. Ответов 1
Метки нет (Все метки)

Добрый день, я ещё только учусь программированиюю. Прошу помощи, уже 2 недели не могу разобраться, но очень-очень хочется!
Необходимо из базы ЗУП 2.5 выгрузить через com-object справочник физ.лица, сравнить его с имеющимся справочником в другой, самописной базе(на данный момент в ней этот справочник пустой), и, если есть различия, создать новые элементы справочника и записать туда информацию из ЗУП. Не могу разобраться с запросом.
В Базе ЗУП есть реквизиты Код, Наименование, ДатаРождения. Такие же реквизиты создала в справочнике в самописной базе.
Что я делаю: Во внешней обработке..Соединяюсь через com-объект со справочником ЗУП, создаю таблицу значений и помещаю туда все элементы справочника "Физ.лиц", далее, через запрос создаю временную таблицу из получившейся Таблицы значений, соединяю её с имеющимся справочником в самописной базе и делаю условие вт_ФизЛица.Наименование <>bsp_ФизическиеЛица.Наименование ИЛИ вт_ФизЛица.ДатаРождения <> bsp_ФизЛица.ДатаРождения , в отладке возвращает пустое значение(( Хотя таблицу значений заполняет и данные там есть..Что я делаю не правильно? Понимаю, что дело в запросе, запросы я только начинаю изучать.

1C
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
30
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТаблицаФизЛиц", ТаблицаФизЛиц);
    Запрос.Текст =   "ВЫБРАТЬ
                    |   ТаблицаФизЛиц.Код КАК Код,
                    |   ТаблицаФизЛиц.Наименование КАК Наименование,
                    |   ТаблицаФизЛиц.ДатаРождения КАК ДатаРождения
                    |ПОМЕСТИТЬ вт_ФизЛица
                    |ИЗ
                    |   &ТаблицаФизЛиц КАК ТаблицаФизЛиц
                    |;
                    |
                    |////////////////////////////////////////////////////////////////////////////////
                    |ВЫБРАТЬ
                    |   вт_ФизическиеЛица.Код КАК Код,
                    |   вт_ФизическиеЛица.Наименование КАК Наименование,
                    |   вт_ФизическиеЛица.ДатаРождения КАК ДатаРождения
                    |ИЗ
                    |   вт_ФизЛица КАК вт_ФизЛица
                    |       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.bsp_ФизическиеЛица КАК bsp_ФизическиеЛица
                    |       ПО вт_ФизЛица.Код = bsp_ФизическиеЛица.Код";
                    
    Выборка = Запрос.Выполнить().Выбрать();
     
    Пока Выборка.Следующий() Цикл
        
        Если ЗначениеЗаполнено(Выборка.Ссылка) Тогда
            ОбъектСправочника = Выборка.Ссылка.ПолучитьОбъект();
        Иначе
            ОбъектСправочника = Справочники.bsp_ФизическиеЛица.СоздатьЭлемент();
        КонецЕсли;
Добавлено через 9 минут
Извините, неправильный запрос написала, вот конечный вариант:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Запрос.Текст =   "ВЫБРАТЬ
                    |   ТаблицаФизЛиц.Код КАК Код,
                    |   ТаблицаФизЛиц.Наименование КАК Наименование,
                    |   ТаблицаФизЛиц.ДатаРождения КАК ДатаРождения
                    |ПОМЕСТИТЬ вт_ФизЛица
                    |ИЗ
                    |   &ТаблицаФизЛиц КАК ТаблицаФизЛиц
                    |;
                    |
                    |////////////////////////////////////////////////////////////////////////////////
                    |ВЫБРАТЬ
                    |   bsp_ФизическиеЛица.Ссылка КАК Ссылка,
                    |   bsp_ФизическиеЛица.Наименование КАК Наименование1,
                    |   bsp_ФизическиеЛица.ДатаРождения КАК ДатаРождения1
                    |ИЗ
                    |   вт_ФизЛица КАК вт_ФизЛица
                    |       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.bsp_ФизическиеЛица КАК bsp_ФизическиеЛица
                    |       ПО вт_ФизЛица.Код = bsp_ФизическиеЛица.Код
                    |ГДЕ
                    |   (вт_ФизЛица.Наименование <> bsp_ФизическиеЛица.Наименование
                    |           ИЛИ вт_ФизЛица.ДатаРождения <> bsp_ФизическиеЛица.ДатаРождения)";
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2018, 10:56
Ответы с готовыми решениями:

Подскажите как програмно неиспользуя запрос вытащить инфу из справочника физ лица
Подскажите как программно не используя запрос вытащить инфу из справочника физ лица. версия 1с 8,2...

Обмен данными через COM- соединение между разными конфигурациями
Добрый день! Может быть кто знает в чем может быть причина вот этой проблемы? Есть база 1С...

Разделение контрагентов (организации / физ. лица)
Всем доброго дня! Имеются таблицы: - договоры - клиенты - контрагенты В контрагентах...

БП 3. Ошибка при открытии карточки физ лица после обновления
Доброго дня После обновления бухгалтерии на 3.0.43.162 появилась ошибка если справочник сотрудники...

1
206 / 180 / 31
Регистрация: 24.10.2011
Сообщений: 737
05.03.2018, 15:23 2
Хоть я и не телепат, и не видел всего кода, предположу, что проблема в том, что ТаблицаФизЛиц имеет неверные описатели столбцов.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.03.2018, 15:23

Проектирование таблицы Клиенты(и юрид. и физ. лица)Нужно ли разбивать на подтаблицы?
Вопрос в следуещем: есть таблица Клиенты, в которой находится некая общая информация про клиента....

Обмен данными через интернет
Искал ответ но так и не нашел... Прошу прощения если плохо искал Проблема такая... Хочу...

Обмен данными через MySQL
Было задано такое задание. Сделать игру шашки по локальной сети. Использовал TCPClient и TCPServer...

Обмен данными с USB через QT
Здравствуйте. Приведите, пожалуйста, пример обмена данными с USB в qt проекте. Необходимо: 1)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru