Имя: Пароль:
1C
1С v8
Вопрос по 1С8.2 Альфа-Авто 5
0 asd890
 
05.11.13
09:49
Подскажите по продукту 1С8.2 Альфа-Авто 5

У номенклатуры есть такой реквизит(реквизиты) как аналог.
Я хочу загрузить их(аналоги) из табличного документа.
Захожу: обработки->загрузка данных из табличного документа
далее:
режим загрузки: загрузка в регистр сведений
вид регистра: группы аналогов номенклатуры

в настройках есть поля:
1. Идентификатор группы аналогов
2. Номер по каталогу
3. Производитель
4. Наименование
5. Главный по группе
6. Главный по наименованию

Что такое "Идентификатор группы аналогов", и откуда его можно взять??

ЗЫ. Это точно не "номер по каталогу" поскольку его указание (указание в качестве идентификатора НОМЕРА детали которую хотим указать в качестве аналога)
1 alexiv79
 
05.11.13
11:23
(0) Про 5 Альфу не скажу-у нас 4-ка. Идентификатор группы аналогов - служит собственно для идентификации группы, т.е. если он одинаковый у нескольких записей регистра-это значит группа аналогов. Тип - идентификатор, т.е. можно задать так
ИдентификаторГруппы=Новый УникальныйИдентификатор;
2 alexiv79
 
05.11.13
11:26
+(1) Загрузить из табличного документа не получиться наверное, потому что хрен знает как его создавать там. У нас переписанная загрузка данных для табличного документа, где стандартный функцуионал только для открытия и чтения файла таблицы - остальное уже дописано, отдельные обработки и т.д.
3 Artful Den
 
05.11.13
11:29
4 asd890
 
05.11.13
11:42
>alexiv79
С этим разобрался.

>Artful Den
Мега респект!
5 asd890
 
05.11.13
11:53
другой вопрос:

У меня есть 5 позиций номенклатуры - они аналоги.
Следовательно они имеют какой-то идентификатор.

Я хочу привязать к ним ещё одну номенклатуру.
Как мне узнать идентификатор? чтобы в загрузке из таблицы не перечислять все аналоги(и соответственно присваивать всем новый идентификатор), а указать только один?

У меня есть аналоги:
Идентификатор|Артикул |производитель
| идентификатор| XYZ123 |
| идентификатор| XYZ126 |
| идентификатор| XYZ128 |

Я хочу загрузить таблицу вида:
| Идентификатор| XYZ123 |
| Идентификатор| СССССС |

где СССССС - новый аналог
6 asd890
 
05.11.13
11:55
Понимаю что можно сделать так:
Идентификатор|Артикул |производитель
| 1          | XYZ123 |
| 1          | XYZ126 |
| 1          | XYZ128 |
| 1          | СССССС |

Но не имею возможности создать такую таблицу.
7 alexiv79
 
05.11.13
11:57
(5) Я делал так-искал в регистре артикул из этой группы - если нашел, то группа есть, соответственно берем идентификатор оттуда-если нет, то создаем новый идентификатор. При загрузке делал тз, где проставлял номера группы аналогов, потом переподставлял идентификатор.
Вот кстати функция из справочника Номенклатура
// Функция возвращает идентификатор группы аналогов
Функция ИдентификаторГруппыАналогов() Экспорт
    Запрос=Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ ПЕРВЫЕ 1
                 |    ГруппыАналогов.ИдентификаторГруппы КАК ИдентификаторГруппы
                 |ИЗ
                 |    РегистрСведений.ГруппыАналогов КАК ГруппыАналогов
                 |ГДЕ
                 |    ГруппыАналогов.Артикул=&Артикул";
    Запрос.УстановитьПараметр("Артикул",Артикул);
    Выборка=Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        Возврат Выборка.ИдентификаторГруппы;
    КонецЕсли;
    Возврат Неопределено;
КонецФункции // ИдентификаторГруппыАналогов()
8 alexiv79
 
05.11.13
12:00
(5) Смотри-как бы сделал я. Я тебя есть таблица, где проставленны группы аналогов. Загружаешь ее в ТЗ, добавляешь колонку "ИдентификаторГруппыАльфа"  к примеру. Начинаешь обход строк таблицы, подставля в эту колонку идентификатор группы аналогов из Альфа. дальше возможны варианты уже - например делаешь копию таблицы, сворачиваешь по колонкам "идентификаторГруппы " и "дентификаторГруппыАльфа" и в несвернутой таблицы поджставляешь уже - потом загружаешь в регистр и все
9 asd890
 
05.11.13
12:06
что такое ТЗ?

Наверное не понятно объяснил.
(Поскольку обсуждаем альфу, я понимаю, все немного в теме)
У меня уже есть рабочая база где все аналоги сведены, мне нужно загрузить номенклатуру нового производителя (с этим справился), и свести с уже существующими аналогами.

т.е у меня на руках таблица только с новой номенклатурой.
вида:
Аналог|Артикул |производитель

где Аналог - это номер номенклатуры из рабочей базы 1С.
10 asd890
 
05.11.13
12:07
>http://rarus.ru/forum/messages/forum7/topic243/message913/#message913

Сразу не заметил, но тут Альфа 4,1.
11 alexiv79
 
05.11.13
12:14
(9) Тз это таблица значений. Еще проще тогда. Т.е. тебе надо найти, учавствует ли Аналог (который в базе) в группе аналогов - если да, то получаешь идентификатор и дописываешь запись в регистр аналогов. Если нет, то создаешь новый идентификатор и дописываешь в регистр 2 записи - аналог и новый артикул. Но это имеет смысл если у тебя группа налогов связана между собой, т.е.

Аналог | Артикул
000000   111111
111111   222222
222222   333333
и т.д. Т.е. может быть несколько вариантов решения. У нас для этого обработка специально написаная
12 asd890
 
05.11.13
12:26
Понял, что средствами самой 1С не обойтись.
Спс, за консультацию
13 alexiv79
 
05.11.13
12:29
(12) Не совсем понял мысль - стандартной загрузки такой нет. Средствами 1С вполне можно такую обработку написать
14 asd890
 
05.11.13
14:40
Не писатель я.)
А то что написать можно - эт понятно.