|
Запись в регистр сведений из Excel |
☑ |
0
DenYuliya
31.05.16
✎
17:01
|
Задача весьма простая: есть регистр, непериодический, в нем 3 колонки: номенклатура, аналог, взаимозаменяемость (булево).
Надо записать данные из файла в аналог.
Уникальность в регистре по всем этим трем колонкам.
Направьте меня на "путь истинный", в каком порядке что делать? Файл считала, на сервер ТЗ с данными из файла передала, и...?
Я так понимаю, алгоритм должен быть таки:
1) Проверить регистр на наличие идентичных записей (лучше делать это в запросе?)
2) те записи, которые уникальны - записать. В зависимости от значения "Взаимозаменяемость" способом а) (просто записать 1 строку, как она есть в excel), либо способом b (вместо 1 в excel сделать 2 записи в регистр).
Это в запросе все делать, или мне запрос совсем не нужен?
|
|
1
DenYuliya
31.05.16
✎
17:02
|
*из файла в регистр записать надо. Аналог - это название регистра
|
|
2
Чайник Рассела
31.05.16
✎
17:04
|
процедура периодическая? поля в регистре строковые?
|
|
3
DenYuliya
31.05.16
✎
17:07
|
Обработка. Внешняя. Поля в регистре - 2 ссылки на спр. Номенклатура и Булево
|
|
4
Chameleon1980
31.05.16
✎
17:23
|
(3) ну дык еще жеж ссылки нужно провверять на существование (если нужно - создавать нужные объекты, если в экселе для этого достаточно информации)
|
|
5
DenYuliya
31.05.16
✎
17:35
|
(4) мне сказали создавать не надо
|
|
6
Chameleon1980
31.05.16
✎
17:36
|
ну определитесь какая информация по ссылочным объектам у вас есть в ексель - и определитесь по какому признаку синхронизировать (если даже не создавать).
|
|
7
Chameleon1980
31.05.16
✎
17:36
|
смысл в этом-то хоть понятен?
|
|
8
DenYuliya
31.05.16
✎
17:39
|
(7) По ссылочным объектам в ексель указано наименование.
|
|
9
DenYuliya
31.05.16
✎
17:49
|
Сейчас я файл прочитала на клиенте, передала в ТЗ на сервер... что теперь? Проверять в запросе, есть ли по измерениям аналогичные записи?
Чтобы при дальнейшей записи в регистр с ошибкой не вываливалось
|
|
10
Гаврилин Игор
31.05.16
✎
18:03
|
(9) А что даст запрос? Тогда уж условие в обходе ТЗ циклом...
|
|
11
DenYuliya
31.05.16
✎
18:10
|
(10) думаете? Вот и я думаю, зачем мне запрос? Хотя можно поместить ТЗ во временную таблицу в запросе, передать как параметр?
Примерно так:
ЫБРАТЬ
ДанныеИзЕкселя.Аналог,
ДанныеИзЕкселя.Номенклатура,
ДанныеИзЕкселя.КодАналога,
ДанныеИзЕкселя.Взаимозаменяем
ПОМЕСТИТЬ ВТ_Таблица
ИЗ
&ДанныеИзЕкселя КАК ДанныеИзЕкселя
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_Таблица.Аналог,
ВТ_Таблица.Номенклатура,
ВТ_Таблица.Взаимозаменяем
ИЗ
РегистрСведений.Аналоги КАК Аналоги
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Таблица КАК ВТ_Таблица
ПО Аналоги.Аналог.Наименование = ВТ_Таблица.Аналог
И Аналоги.Номенклатура.Наименование = ВТ_Таблица.Номенклатура
И Аналоги.Обратный = ВТ_Таблица.Взаимозаменяем
|
|
12
DenYuliya
31.05.16
✎
18:11
|
Правда что-то мне ничего запрос не выдает, где-то ошибка закралась((
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший