Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> добавление новой группы , Программное добавление новой группы          
vihuhol Подменю пользователя
сообщение 27.04.10, 22:36
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Помогите разобраться, пожалуйста.
Есть вот такой кусок начальной внешней обработки для создания групп 1-го уровня номенклатуры из excel-файла:
Процедура КнопкаВыполнитьНажатие(Кнопка)
    Путь = ЭлементыФормы.ИмяФайла.Значение;
    Док = ПолучитьCOMОбъект(Путь);
    КоличествоСтраниц = 1;
    Для ТекНомер  = 1 По КоличествоСтраниц Цикл
        Артикул = Док.Sheets(ТекНомер).Cells(2,1).Value;
        Название = Док.Sheets(ТекНомер).Cells(2,2).Value;
        счСтроки = 3;
        Пока TrimAll(Название) <> "" Цикл    // можно использовать другой признак
            Артикул = Док.Sheets(ТекНомер).Cells(СчСтроки,1).Value;
            Название  = Док.Sheets(ТекНомер).Cells(СчСтроки,2).Value;
            счСтроки = счСтроки + 1;

            НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
            НоваяГруппа.Наименование = Строка(Название);
            НоваяГруппа.Записать();

        КонецЦикла;
    КонецЦикла;    
    Док.Application.Quit();
КонецПроцедуры

При попытке выполнить "НоваяГруппа.Записать();" 1С Ругается:
Цитата
Перед записью элемента - Номенклатура:Группа 2 обнаружены ошибки :
Реквизит "Код" не заполнен !

для поля Код(стандартное встроенное поле) установлены галочки "Контроль уникальности" и "Автонумерация". Если прописывать Код руками в коде - то тогда работает. Но разве это поле не должно заполняться автоматически платформой? Как быть?
Помогите разобраться, а то сегодня целый день промучался icon_cuss.gif и никакого результата 19000000.gif

World1С Подменю пользователя
сообщение 28.04.10, 6:46
Сообщение #2

Оратор
Иконка группы
Квалифицированному 1С программисту
Группа: Местный
Сообщений: 358
Из: г.Луганск, обл.Луганская
Спасибо сказали: 110 раз
Рейтинг: 0

        Пока TrimAll(Название) <> "" Цикл    // можно использовать другой признак 
           // код = Док.Sheets(ТекНомер).Cells(СчСтроки,1).Value;
            Артикул = Док.Sheets(ТекНомер).Cells(СчСтроки,1).Value;
            Название  = Док.Sheets(ТекНомер).Cells(СчСтроки,2).Value;
            счСтроки = счСтроки + 1;

            НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
// вот так
// НоваяГруппа.Код = Строка(код);
    НоваяГруппа.Код = Строка(Артикул);
//*****************************
            НоваяГруппа.Наименование = Строка(Название);
            НоваяГруппа.Записать();

Если правильно понимаю то артикул имеется в виду код...
Вот и все.


Signature
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности.
Оскар Уайлд

vihuhol Подменю пользователя
сообщение 29.04.10, 21:58
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Да это Альфа-авто - что-то там наворотили при записи номенклатуры.
ПОмогло только пот такое:
НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
НоваяГруппа.УстановитьНовыйКод();
НоваяГруппа.Наименование = Строка(Название);
НоваяГруппа.Записать();


Без УстановитьНовыйКод(); никак не зотело работать, в каком-то из обработчиков что-то видимо проверяется.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 13.06.24, 2:13
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!