|
Запись таблицы значений в регистр сведений | ☑ | ||
---|---|---|---|---|
0
LivingStar
30.10.19
✎
10:20
|
Имеется регистр сведений. Непериодический, независимый. В нем физические лица и реквизиты по ним.
Есть таблица значений которую нужно записать в реквизиты найденных физических лиц. Физические лица нужно искать по фио или по значению снилс, что все есть в таблице значений для загрузки. Подскажите пожалуйста как правильно делать данную загрузку? СНИЛС имеет формат 999-999-999 99. Необходимо искать в регистре запись по снилс, если не найдена искать по фио. |
|||
1
butterbean
30.10.19
✎
10:24
|
в запросе делай соединение твоей таблицы значений и справочника физ лиц и в условие соединения СНИЛС = ... ИЛИ ФИО = ....
|
|||
2
ИУБиПовиц
30.10.19
✎
10:28
|
(1) по ФИО я б не советовал, полные тезки то могут попасться (или изменившие фамилию)
|
|||
3
lEvGl
гуру
30.10.19
✎
10:34
|
(2) + 1 - как за здрасти, даже пользователей в базе в актуальное состояние привести бывает затруднительно, т к кроме фио больше ничего нет
ну а так наборзаписей, отбор, условия есть/нет, изменение/добавление, что там сложного |
|||
4
piter3
30.10.19
✎
10:35
|
А еще фамилии могут менять,особенно девочки))
|
|||
5
hhhh
30.10.19
✎
10:48
|
(0) запросом ищи
|
|||
6
LivingStar
30.10.19
✎
11:08
|
(2) Такие условия задачи, искать по СНИЛС, это как я понял реквизит справочника Физический лица
СтраховойНомерПФР . Если не находится по снилс искать по ФИО. Это тоже реквизит справочника Физические лица, ФИО. (1) То есть параметром в запрос передавать таблицу значений? И там связывать со справочником ???? |
|||
7
hhhh
30.10.19
✎
11:15
|
(6) да, передавай
|
|||
8
LivingStar
30.10.19
✎
11:21
|
В консоле запросов нельзя передавать таблицу значения делая запрос в режиме предприятия?
|
|||
9
ДенисЧ
30.10.19
✎
11:24
|
(8) Можно. От консоли зависит
|
|||
10
Mankubus
30.10.19
✎
11:24
|
(8) доработай консоль так чтобы можно было или поищи уже готовую
|
|||
11
catena
30.10.19
✎
11:25
|
(8)Смотря какая консоль
|
|||
12
hhhh
30.10.19
✎
11:33
|
(8) вообще выбрось консоль, в этой задаче она тебе не понадобится. Консоль - это когда сложные запросы, куча соединений и так далее. А тут? выбрать физлицо по снилс?
|
|||
13
LivingStar
30.10.19
✎
12:05
|
Подскажите пожалуйста, все ли в порядке с этим блоком?
ТзДляЗагрузки = СоздатьТЗсXLSЛистов(ЗагружаемыйФайл); // Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | Таблица.ФизическоеЛицо КАК ФизическоеЛицо, | Таблица.Рост КАК Рост, | Таблица.РазмерОдежды КАК РазмерОдежды, | Таблица.РазмерОбуви КАК РазмерОбуви, | Таблица.РазмерГоловногоУбора КАК РазмерГоловногоУбора, | Таблица.РазмерПротивогаза КАК РазмерПротивогаза, | Таблица.РазмерРеспиратора КАК РазмерРеспиратора, | Таблица.РазмерПерчаток КАК РазмерПерчаток, | Таблица.РазмерРукавиц КАК РазмерРукавиц, | Таблица.СПИЛС КАК СПИЛС |ПОМЕСТИТЬ ВТ_АнтропометрическиеСведения |ИЗ | &Таблица КАК Таблица |; | |///////////////////////////////////////////////////////////// | |ВЫБРАТЬ | ФизическиеЛица.Ссылка КАК ФизическоеЛицо, | ФизическиеЛица.Фамилия КАК Фамилия, | ФизическиеЛица.Имя КАК Имя, | ФизическиеЛица.Отчество КАК Отчество, | ФизическиеЛица.ФИО КАК ФИО, | ФизическиеЛица.СтраховойНомерПФР КАК СтраховойНомерПФР, | ВТ_АнтропометрическиеСведения.Рост КАК Рост, | ВТ_АнтропометрическиеСведения.РазмерОдежды КАК РазмерОдежды, | ВТ_АнтропометрическиеСведения.РазмерОбуви КАК РазмерОбуви, | ВТ_АнтропометрическиеСведения.РазмерГоловногоУбора КАК РазмерГоловногоУбора, | ВТ_АнтропометрическиеСведения.РазмерПротивогаза КАК РазмерПротивогаза, | ВТ_АнтропометрическиеСведения.РазмерРеспиратора КАК РазмерРеспиратора, | ВТ_АнтропометрическиеСведения.РазмерПерчаток КАК РазмерПерчаток, | ВТ_АнтропометрическиеСведения.РазмерРукавиц КАК РазмерРукавиц, | ВТ_АнтропометрическиеСведения.СПИЛС КАК СПИЛС | | |ИЗ | Справочник.ФизическиеЛица КАК ФизическиеЛица | ЛЕВОЕ СОЕДИНЕНИЕ | ВТ_АнтропометрическиеСведения КАК ВТ_АнтропометрическиеСведения | ПО | ФизическиеЛица.СтраховойНомерПФР = ВТ_АнтропометрическиеСведения.СНИЛС | ИЛИ ФизическиеЛица.ФИО = ВТ_АнтропометрическиеСведения.ФизическоеЛицо"; Запрос.УстановитьПараметр("Таблица", ТзДляЗагрузки); РезультатЗапроса = Запрос.Выполнить(); Если Не РезультатЗапроса.Пустой() Тогда Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл МенеджерЗаписи = РегистрыСведений.АнтропометрияФизЛиц.СоздатьМенеджерЗаписи(); МенеджерЗаписи.ФизическоеЛицо = Выборка.ФизическоеЛицо; МенеджерЗаписи.Рост = Выборка.Рост; МенеджерЗаписи.РазмерОдежды = Выборка.РазмерОдежды; МенеджерЗаписи.РазмерОбуви = Выборка.РазмерОбуви; МенеджерЗаписи.РазмерГоловногоУбора = Выборка.РазмерГоловногоУбора; МенеджерЗаписи.РазмерПротивогаза = Выборка.РазмерПротивогаза; МенеджерЗаписи.РазмерРеспиратора = Выборка.РазмерРеспиратора; МенеджерЗаписи.РазмерПерчаток = Выборка.РазмерПерчаток; МенеджерЗаписи.РазмерРукавиц = Выборка.РазмерРукавиц; МенеджерЗаписи.СПИЛС = Выборка.СПИЛС; Попытка МенеджерЗаписи.Записать(); Исключение Сообщить("Антропологические данные для физического лица " + Выборка.ФизическоеЛицо + " не записаны!"); КонецПопытки; КонецЦикла; КонецЕсли; // |
|||
14
Ёпрст
30.10.19
✎
12:09
|
(0) лень смотреть, проверять результат на Пустой не надо, если дальше есть выборка,
описывать все поля тоже, весь код можно заменить одной строкой на ЗаполнитьЗначенияСвойств(...) |
|||
15
Ёпрст
30.10.19
✎
12:10
|
ну и , выбирать надо как минимум, различные записи в запросе, иначе регистр не запишется
|
|||
16
LivingStar
30.10.19
✎
13:12
|
из за чего такая ошибка ???
в запросе (13) РезультатЗапроса = Запрос.Выполнить(); по причине: {(3, 2)}: Тип не может быть выбран в запросе <<?>>Таблица.ФизическоеЛицо КАК ФизическоеЛицо, |
|||
17
vicof
30.10.19
✎
13:15
|
(16) Из-за того, что тип не может быть выбран в запросе
|
|||
18
LivingStar
30.10.19
✎
13:15
|
Я выбираю поля
Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | Таблица.ФизическоеЛицо КАК ФизическоеЛицо, | Таблица.Рост КАК Рост, | Таблица.РазмерОдежды КАК РазмерОдежды, | Таблица.РазмерОбуви КАК РазмерОбуви, | Таблица.РазмерГоловногоУбора КАК РазмерГоловногоУбора, | Таблица.РазмерПротивогаза КАК РазмерПротивогаза, | Таблица.РазмерРеспиратора КАК РазмерРеспиратора, | Таблица.РазмерПерчаток КАК РазмерПерчаток, | Таблица.РазмерРукавиц КАК РазмерРукавиц, | Таблица.СПИЛС КАК СПИЛС |ПОМЕСТИТЬ ВТ_АнтропометрическиеСведения |ИЗ | &Таблица КАК Таблица |; |
|||
19
piter3
30.10.19
✎
13:16
|
(16) ты не умеешь готовить запросы с источником тз
|
|||
20
vicof
30.10.19
✎
13:17
|
(19) И не только
|
|||
21
LivingStar
30.10.19
✎
13:18
|
(19) подскажите как нужно пожалуйста
|
|||
22
LivingStar
30.10.19
✎
13:19
|
(21+) Вроде все нормально, не вижу помехи.
|
|||
23
LivingStar
30.10.19
✎
13:21
|
Не пойму в чем ошибка, какой тип, я выбираю поле таблицы, по коду все нормлаьно!
|
|||
24
piter3
30.10.19
✎
13:21
|
(23) нет
|
|||
25
LivingStar
30.10.19
✎
13:27
|
нетипизированные колонки у таблицы значений передаваемой в запрос
|
|||
26
Fram
30.10.19
✎
13:30
|
(25) совершенно верно
|
|||
27
hhhh
30.10.19
✎
13:31
|
(25) зачем же ты их нетипизировал? вот шутник.
|
|||
28
piter3
30.10.19
✎
13:31
|
(25) Вот-вот
|
|||
29
LivingStar
30.10.19
✎
13:40
|
Вопрос такой. По снилс связь понятна. А по ФИО? В справочнике полностью в этом поле фамилия, имя, отчество.
А с личта фамилия и инициалы. Как с этим быть? |
|||
30
H A D G E H O G s
30.10.19
✎
13:44
|
Вспышка слева!
|
|||
31
hhhh
30.10.19
✎
13:51
|
(29) спроси у заказчика
|
|||
32
LivingStar
30.10.19
✎
14:06
|
по соединению, есть таблица в файле
нужно отобрать по ней, записи в справочнике, каким будет соединение???? То есть есть запись в справочнике в таблице для неё данные. |
|||
33
hhhh
30.10.19
✎
14:09
|
(32) читай (13) там соединение
|
|||
34
Кодер
30.10.19
✎
14:15
|
Мне "СПИЛС" не понравилось. Букву добавь или исправь.
|
|||
35
LivingStar
30.10.19
✎
14:29
|
(34 )Исправил, сам не понял от куда ошибка.
Подскажите по соединению, вот это не подойдет |ИЗ | Справочник.ФизическиеЛица КАК ФизическиеЛица | ЛЕВОЕ СОЕДИНЕНИЕ | ВТ_АнтропометрическиеСведения КАК ВТ_АнтропометрическиеСведения | ПО | ФизическиеЛица.СтраховойНомерПФР = ВТ_АнтропометрическиеСведения.СНИЛС | ИЛИ ФизическиеЛица.ФИО = ВТ_АнтропометрическиеСведения.ФизическоеЛицо"; Так как нужно только те записи справочника, по которым есть записи в связываемой таблице. |
|||
36
LivingStar
31.10.19
✎
05:47
|
Есть ли у кого консоль запросов с возможностью передачи таблицы значений параметром ?
|
|||
37
catena
31.10.19
✎
06:20
|
(36)Инструменты разработчика
|
|||
38
LivingStar
31.10.19
✎
06:24
|
Скажите пожалуйста. Почему данный запрос отбирает 1 запись?
Как минимум должно быть 2. Я ввел тестовые данные. СНИЛС совпадает. Запрос.Текст = "ВЫБРАТЬ | Таблица.ФИОФизЛица КАК ФИОФизЛица, | Таблица.Рост КАК Рост, | Таблица.РазмерОдежды КАК РазмерОдежды, | Таблица.РазмерОбуви КАК РазмерОбуви, | Таблица.РазмерГоловногоУбора КАК РазмерГоловногоУбора, | Таблица.РазмерПротивогаза КАК РазмерПротивогаза, | Таблица.РазмерРеспиратора КАК РазмерРеспиратора, | Таблица.РазмерПерчаток КАК РазмерПерчаток, | Таблица.РазмерРукавиц КАК РазмерРукавиц, | Таблица.СНИЛС КАК СНИЛС |ПОМЕСТИТЬ ВТ_АнтропометрическиеСведения |ИЗ | &Таблица КАК Таблица |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ФизическиеЛица.Ссылка КАК ФизическоеЛицоСсылка, | ФизическиеЛица.Фамилия КАК Фамилия, | ФизическиеЛица.Имя КАК Имя, | ФизическиеЛица.Отчество КАК Отчество, | ФизическиеЛица.ФИО КАК ФИО, | ФизическиеЛица.СтраховойНомерПФР КАК СтраховойНомерПФР, | ВТ_АнтропометрическиеСведения.Рост КАК Рост, | ВТ_АнтропометрическиеСведения.РазмерОдежды КАК РазмерОдежды, | ВТ_АнтропометрическиеСведения.РазмерОбуви КАК РазмерОбуви, | ВТ_АнтропометрическиеСведения.РазмерГоловногоУбора КАК РазмерГоловногоУбора, | ВТ_АнтропометрическиеСведения.РазмерПротивогаза КАК РазмерПротивогаза, | ВТ_АнтропометрическиеСведения.РазмерРеспиратора КАК РазмерРеспиратора, | ВТ_АнтропометрическиеСведения.РазмерПерчаток КАК РазмерПерчаток, | ВТ_АнтропометрическиеСведения.РазмерРукавиц КАК РазмерРукавиц, | ВТ_АнтропометрическиеСведения.СНИЛС КАК СНИЛС |ИЗ | Справочник.ФизическиеЛица КАК ФизическиеЛица | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_АнтропометрическиеСведения КАК ВТ_АнтропометрическиеСведения | ПО (ФизическиеЛица.СтраховойНомерПФР = ВТ_АнтропометрическиеСведения.СНИЛС)"; //| ИЛИ ФизическиеЛица.ФИО = ВТ_АнтропометрическиеСведения.ФИОФизЛица)"; |
|||
39
catena
31.10.19
✎
06:32
|
(38)Ты предлагаешь поверить тебе на слово во всех трех утверждениях? Я 1С больше доверяю, если отбирает 1 запись, значит должна быть одна.
|
|||
40
LivingStar
31.10.19
✎
06:50
|
(39) Там 2 записи вбиты с листа и снилс.
Одну запись отбирает, другую нет. КАК????? Я теряюсь в догадках, и в понимании что поправить ( Запрос вроде же нормальный? |
|||
41
LivingStar
31.10.19
✎
06:52
|
Нормальная ли вот такая запись в регистр сведений?
Не продублирует, не перетрет нужного? МенеджерЗаписи = РегистрыСведений.АнтропометрияФизЛиц.СоздатьМенеджерЗаписи(); МенеджерЗаписи.ФизическоеЛицо = Выборка.ФизическоеЛицоСсылка; // МенеджерЗаписи.Рост = Выборка.Рост; МенеджерЗаписи.РазмерОдежды = Выборка.РазмерОдежды; МенеджерЗаписи.РазмерОбуви = Выборка.РазмерОбуви; МенеджерЗаписи.РазмерГоловногоУбора = Выборка.РазмерГоловногоУбора; МенеджерЗаписи.РазмерПротивогаза = Выборка.РазмерПротивогаза; МенеджерЗаписи.РазмерРеспиратора = Выборка.РазмерРеспиратора; МенеджерЗаписи.РазмерПерчаток = Выборка.РазмерПерчаток; МенеджерЗаписи.РазмерРукавиц = Выборка.РазмерРукавиц; Попытка МенеджерЗаписи.Записать(); Исключение Сообщить("Антропологические данные для физического лица " + Выборка.ФизическоеЛицо + " не записаны!"); КонецПопытки; |
|||
42
catena
31.10.19
✎
06:58
|
(41)У тебя нет тестовой копии, чтобы проверять там? Или это такой двойной контроль?
Непериодический регистр по измерениям продублировать невозможно. |
|||
43
LivingStar
31.10.19
✎
07:01
|
(42) Какой тестовой копии??? А я в какой работаю????
Она подключена к хранилищу. Могу и копию сделать. Зачем? Я пытаюсь понять, нормальна ли такая запись (41)? |
|||
44
catena
31.10.19
✎
07:02
|
(43)Ну так запусти код и проверь, не перетрет ли, не продублирует!!! Что за привычка использовать форум, как отладчик?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |