Имя: Пароль:
1C
1С v8
Запись в регистр сведений из 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
Правда что-то мне ничего запрос не выдает, где-то ошибка закралась((
AdBlock убивает бесплатный контент. 1Сергей