Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 23:57
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Программная запись свойства номернклатуры  (Прочитано 10496 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Евгений90

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-10-03
  • Сайт: 
  • Профессия: Ученик 1С
Есть справочник Номенклатура у нее есть свойство Импортер. Как для всех элементов группы "Группа 1" программно записать в свойство Импортер определенное значение.


Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
свойство - это именно свойство (механизм, основанный на плане видов характеристик и регистре сведений) или реквизит?
если реквизит, то вообще все просто - получаете запросом нужные элементы справочника, меняете значение реквизита, записываете.
если свойство - получаете запросом нужные элементы справочника, при помощи менеджера записи регистра сведений записываете значения свойства.

Оффлайн Евгений90

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-10-03
  • Сайт: 
  • Профессия: Ученик 1С
а можно немного поподробнее. Свойство это ПланыВидовХарактеристик

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
Значения свойств хранятся в регистре сведений.
Как его найти? Называться он может "ЗначенияСвойствОбъектов" или что-то подобное, точно вы можете узнать, зайдя в форму элемента справочника и посмотрев тип значения табличного поля на закладке "свойства" - тип должен быть табличная часть какой-то обработки (обычно через обработку делается редактирование свойств). Найдете обработку, посмотрите, куда ведется запись.

Предположим, регистр нашли и допустим, называется он ЗначенияСвойствОбъектов.
Далее запросом выбрали нужные элементы справочника номенклатура, циклом обходите выборку из результата запроса, внутри цикла - создаете менеджер записи регистра таким примерно образом:

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
МенеджерЗаписи = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Объект = Выборка.Номенклатура;
МенеджерЗаписи.Свойство = ВашеСвойство; // "импортер" или что-то еще, тип - ПланВидовХарактеристикСсылка
МенеджерЗаписи.Значение = ВашеЗначение; // Истина или что-то еще, в зависимости от типа свойства
МенеджерЗаписи.Записать();
КонецЦикла;

Оффлайн Евгений90

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-10-03
  • Сайт: 
  • Профессия: Ученик 1С
Делаю во внешней обработке. А как сделать запись только для элементов определенной группы?

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СправочникНоменклатура.Ссылка КАК Номенклатура
|ИЗ
| Справочник.Номенклатура КАК СправочникНоменклатура
|ГДЕ
| СправочникНоменклатура.Ссылка В ИЕРАРХИИ(&ВашаГруппа)
| И СправочникНоменклатура.ЭтоГруппа";
Запрос.УстановитьПараметр("ВашаГруппа", ВашаГруппа);

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
МенеджерЗаписи = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Объект = Выборка.Номенклатура;
МенеджерЗаписи.Свойство = ВашеСвойство; // "импортер" или что-то еще, тип - ПланВидовХарактеристикСсылка
МенеджерЗаписи.Значение = ВашеЗначение; // Истина или что-то еще, в зависимости от типа свойства
МенеджерЗаписи.Записать();
КонецЦикла;

все за вас написал  :D
Добавлено: 17 Окт 2012, 09:44

запрос так же может быть таким:
Запрос.Текст = "ВЫБРАТЬ
| СправочникНоменклатура.Ссылка КАК Номенклатура
|ИЗ
| Справочник.Номенклатура КАК СправочникНоменклатура
|ГДЕ
| СправочникНоменклатура.Родитель = &ВашаГруппа
| И СправочникНоменклатура.ЭтоГруппа";

Оффлайн Евгений90

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-10-03
  • Сайт: 
  • Профессия: Ученик 1С
Большое спасибо ), тока ошибка небольшая выскакивает {Форма.Форма.Форма(12,47)}: Ожидается символ ')'
Ошибка указывает на строку Запрос.УстановитьПараметр("Товары МФГ", Товары МФГ);
В чем может быть дело ?

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
Ну в этой строке точно все хорошо. Посмотрите на строку выше. Или как вариант - перезапустите отладку. Может вы что-то меняли в коде, строка съехала и на самом деле ошибка в другой строчке сейчас.

Оффлайн Евгений90

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-10-03
  • Сайт: 
  • Профессия: Ученик 1С
Вот весь код, не могу понять в чем дело



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

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|    СправочникНоменклатура.Ссылка КАК Номенклатура
|ИЗ
|    Справочник.Номенклатура КАК СправочникНоменклатура
|ГДЕ
|    СправочникНоменклатура.Родитель = &ТоварыМФГ И СправочникНоменклатура.ЭтоГруппа";
Запрос.УстановитьПараметр("ТоварыМФГ", Товары МФГ);

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    МенеджерЗаписи = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
    МенеджерЗаписи.Объект = Выборка.Номенклатура;
    МенеджерЗаписи.Свойство = "Импортер";
   МенеджерЗаписи.Значение = Мелон;
    МенеджерЗаписи.Записать();
КонецЦикла;
КонецПроцедуры


Оффлайн Slin

  • Глобальный модератор
  • *****
  • Сообщений: 780
  • РЕПУТАЦИЯ: 247
  • КПД: 32%
  • Game over...
  • Регистрация: 2010-10-13
  • Сайт: 
  • Профессия: Программист 1С
skype: slin-dev


Теги:
 

Как понять запись ?(НачОстаток = Null,0,НачОстаток)

Автор olgahachnewРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 2573
Последний ответ 07 Апр 2011, 17:38
от chuevsf
Проверка на "новую" запись в рег. сведений

Автор nomer13Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 14338
Последний ответ 11 Янв 2011, 10:04
от nomer13
Удалить запись из справочника "Сотрудники" уволенного

Автор Alex56Раздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 3602
Последний ответ 02 Фев 2014, 21:37
от LordWizard
Запись элемента справочника из модуля объекта другого справочника

Автор 12040Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1408
Последний ответ 05 Май 2016, 09:29
от LexaK
Запись регистра регистра сведений стали не уникальными: РасчетПереоценкиВалютныхСредств

Автор GinayatРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 169
Последний ответ 09 Ноя 2017, 21:42
от Геннадий ОбьГЭС

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
179 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 242
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal