Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/98: Рейтинг темы: голосов - 98, средняя оценка - 4.57
Symom-Phoymyx
0 / 0 / 0
Регистрация: 11.11.2007
Сообщений: 4
1

внешняя обработка для изменения свойств номенклатуры

15.11.2007, 07:18. Просмотров 17742. Ответов 3
Метки нет (Все метки)

1С восьмерка
занимаюсь совсем недавно, так что может вопрос и простой, но для меня сложный )

ситуация: нужно изменить одно из свойств товара, в часности Основной производитель

есть форма, в которой указывается изменяемое свойство и какое значение ему присваивать, подгрузка списка номенклатуры, у которой нужно изменить указанное свойство, осуществляется из экселевского файла

модуль формы:


Код
Перем ВыборФайла, Exel;


Процедура КнопкаВыполнитьНажатие(Элемент)

Если ВыборФайла.Выбрать() Тогда

Файл = Exel.Workbooks.Open(ВыборФайла.ПолноеИмяФайла);
Табл = Файл.WorkSheets(1);

ЗначенияСвойствОбъектов = РегистрыСведений.ЗначенияСвойствОбъектов;
НаборСвойств = ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();


Для СчСтрок = 1 По КоличествоСтрок Цикл

КодТовара = Табл.Cells(СчСтрок, 1).Text;
Товар = Справочники.Номенклатура.НайтиПоНАИМЕНОВАНИЮ(КодТовара).Ссылка;

Если Товар.Пустая() Тогда
Сообщить("Не найден элемент справочника: Код - " + КодТовара + " Наименование - " + Табл.Cells(СчСтрок, 1).Text);

Продолжить;

КонецЕсли;

НовоеСвойство = НаборСвойств.Добавить();
НовоеСвойство.Объект = Товар;
НовоеСвойство.Свойство = Свойство;
НовоеСвойство.Значение = Значение;


КонецЦикла;
НаборСвойств.Записать();

КонецЕсли;


Файл.Close();
Exel.Quit();
КонецПроцедуры


Exel = Новый COMОбъект("Excel.Application",);
ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ВыборФайла.МножественныйВыбор = Ложь;
проблема в том, что фактически создается новый РегистрыСведений.ЗначенияСвойствОбъектов, затирая уже имеющийся, а мне же надо, чтобы он добавлял запись, если таковой не присутствует, либо изменял уже существующую, меняя в ней свойство...третий день сижу, зарывшись в пособия разработчика 1С )...поможите плз )
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2007, 07:18
Ответы с готовыми решениями:

Внешняя Обработка (.ert) Для Чеков
Здравсвуйте!! У нас в магазине 1С 7.7 Торговля и склад SQL 2005+ Windows Server 2003 ... Дайте...

Обработка для загрузки из файла XLS или из Firebird 2.5 справочника номенклатуры с ценами и остатками
Обработка для загрузки из файла XLS справочника номенклатуры с ценами и остатками. Поделитесь...

Обработка подбора номенклатуры???
1. В обработке подбора номенклатуры реализовать автоматическое заполнение колонки "номенклатурная...

Внешняя обработка
Добрый день! создал внешнюю обработку, вопрос в том как добавить на печатную форму юрадрес клиента,...

Внешняя Обработка
добрый день! Очень нужна помощь.В 1с8.2 есть справочник контрагенты.Необходимо в наименовании...

3
Zob
0 / 0 / 0
Регистрация: 11.11.2005
Сообщений: 584
15.11.2007, 09:22 2
при записи набора восьмерка перезаписывает все старые записи с таким-же отбором. Чтобы добавить, надо прочитать в набор то, что есть в регистре, потом дописать в него новые записи, и только потом записывать. Чтобы изменить - соответственно: читаем, изменяем то, что есть, записываем. Удачи.
0
Symom-Phoymyx
0 / 0 / 0
Регистрация: 11.11.2007
Сообщений: 4
15.11.2007, 09:32 3
а можно поподробнее?
попытался добавить в код
НаборСвойств.Отбор.Объект.Установить(Товар);
НаборСвойств.Отбор.Свойство.Установить(Свойство);
НаборСвойств.Прочитать();
если ставлю перед
НовоеСвойство = НаборСвойств.Добавить();
НовоеСвойство.Объект = Товар;
НовоеСвойство.Свойство = Свойство;
НовоеСвойство.Значение = Значение;
то новые записи добавляет, но старые не редактирует, ругаясь, что запись уже существует в списке...т.е. ведет себя так, будто Запись=Ложь
если ставлю перед
НаборСвойств.Записать(Истина);
то вообще никакой реакции не получаю, будто обработка и не выполнялась )
0
Symom-Phoymyx
0 / 0 / 0
Регистрация: 11.11.2007
Сообщений: 4
15.11.2007, 10:10 4
все, разобрался
0
15.11.2007, 10:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2007, 10:10

Внешняя обработка
1С Предприятие 8.2 Как из внешней обработки создать элемент в корень какого-нибудь справочника? (В...

Внешняя обработка
Здравствуйте, конфигурация УТ 10.3, создал внешнюю обработку для отправки вложений по почте. Как...

1с 8.2 Не открывается внешняя обработка
Доброго времени всем! Такая беда, запускаю 1С Предприятие 8.2 УТ 11 запускаю созданную обработку, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru