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

Хранилище

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

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



> Спр.УстановитьАтрибут() не работает          
Dandilion Подменю пользователя
сообщение 12.12.11, 11:30
Сообщение #1

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

Фрагмент кода
=========================================

Книга = Эксель.WorkBooks.Open(файл); 
Лист = Книга.WorkSheets(1);
НачатьТранзакцию();
кво = 0;
СпрТМЦ = СоздатьОбъект("Справочник.ТМЦ");
Для н=ССтр По ПоСтр Цикл
[indent]Артикул = СокрЛП(Строка(Лист.Cells(н, КолАртикул).Value));
Если ПустоеЗначение(Артикул) = 1 Тогда
[indent]Сообщить("Строка " + н + " Артикул пустой!!!");
Продолжить;[/indent]
КонецЕсли;
Если СпрТМЦ.НайтиПоРеквизиту("Артикул",Артикул,1) = 1 Тогда
[indent]Если СпрТМЦ.ВыбратьЭлементы() = 1 Тогда
[indent]СпрТМЦ.ТекущийЭлемент();
УКТ1 = СокрЛП(Строка(Лист.Cells(н, КолЦена).Value));
СпрТМЦ.УстановитьАтрибут("УКТ", УКТ1);
СпрТМЦ.Записать();
Сообщить("Товар с артикулом " + Артикул + " -- Добавлен");
кво = кво + 1;[/indent]
КонецЕсли;
Иначе
Сообщить("Товар с артикулом " + Артикул + " -- Ненайден"); [/indent]
КонецЕсли; [/indent]
КонецЦикла;
ЗафиксироватьТранзакцию();

=========================================
Что видно в Отладчике
УКТ1 - нормально загружается и меняется с переходом по строкам
СпрТМЦ.УКТ - пустота, ничего не записывается. Реквизит не периодический. Тип Строка.
не могу понять почему даже в отладчите коменда
СпрТМЦ.УстановитьАтрибут("УКТ", УКТ1);
не выдает никакого значения

Сообщение отредактировал MATEVI - 12.12.11, 11:38
Причина редактирования: Выделяйте код. Прочтите правила!

Ardi Подменю пользователя
сообщение 12.12.11, 11:37
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Если СпрТМЦ.НайтиПоРеквизиту("Артикул",Артикул,1) = 1 Тогда 
Если СпрТМЦ.ВыбратьЭлементы() = 1 Тогда

это бред.

СпрТМЦ.ТекущийЭлемент();

это бред.

Вот поэтому и не работает.

закомментироваь
Если СпрТМЦ.ВыбратьЭлементы() = 1 Тогда 
СпрТМЦ.ТекущийЭлемент();


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Dandilion Подменю пользователя
сообщение 12.12.11, 11:45
Сообщение #3

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

Цитата(Ardi @ 12.12.11, 11:37) *
Если СпрТМЦ.НайтиПоРеквизиту("Артикул",Артикул,1) = 1 Тогда 
Если СпрТМЦ.ВыбратьЭлементы() = 1 Тогда

это бред.

СпрТМЦ.ТекущийЭлемент();

это бред.

Вот поэтому и не работает.

закомментироваь
Если СпрТМЦ.ВыбратьЭлементы() = 1 Тогда 
СпрТМЦ.ТекущийЭлемент();




СПАСИБО! Сам теперь понимаю, что бред )) Первые шаги в 1С... пока только начинаю разбиратся

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


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

 

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