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

Автор Тема: Копирование элементов подчиненного справочника  (Прочитано 1275 раз)

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

Оффлайн _max_

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-08-07
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день помогите пожалуйста... Есть код он создает элементы в справочнике номенклатуры, подскажите при повторном создании элементов чтобы он не создавал дубликатов:

Процедура КнопкаВыполнитьНажатие(Кнопка)
   
   СпрХарактеристикиНоменклатуры = Справочники.ХарактеристикиНоменклатуры;
   СпрНоменклатура = Справочники.Номенклатура;
        Наменклатура = СпрНоменклатура.Выбрать(Родитель);

   
   Пока Наменклатура.Следующий() Цикл
      
      
      Элемент = Наменклатура.ПолучитьОбъект();
      Элемент.ВестиУчетПоХарактеристикам = Истина;
      Элемент.Записать();   
         
      ЭлементХар = СпрХарактеристикиНоменклатуры.СоздатьЭлемент();
      ЭлементХар.Владелец     = Элемент.Ссылка;
      ЭлементХар.Наименование = "Брак ";
      ЭлементХар.Активная     = Истина;
      ЭлементХар.Записать();
               
                ЭлементХар = СпрХарактеристикиНоменклатуры.СоздатьЭлемент();
      ЭлементХар.Владелец     = Элемент.Ссылка;
      ЭлементХар.Наименование = "Бой ";
      ЭлементХар.Активная     = Истина;
      ЭлементХар.Записать();
       
   КонецЦикла;   
   Предупреждение("Загрузка завершена");
 КонецПроцедуры
 Если элемент записан брак или бой то он их пропускал в номенклатуре!!!


Оффлайн SkyNetYar

  • ****
  • Сообщений: 351
  • РЕПУТАЦИЯ: 10
  • КПД: 3%
  • Регистрация: 2014-10-25
  • Сайт: 
  • Профессия: Ученик 1С
Если Значение = NULL Тогда
или ПустаяСсылка();
Вроде как то так надо..
Проверять на наличие элемента..

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
самое простое смотреть флаг ВестиУчетПоХарактеристикам

ваш код
Пока Наменклатура.Следующий() Цикл
     
     
      Элемент = Наменклатура.ПолучитьОбъект();

замените на следующий

Пока Наменклатура.Следующий() Цикл
   
    //проверка 
    Если Наменклатура.ВестиУчетПоХарактеристикам Тогда
        //считаем что по данной номенклатуре Характеристики есть, пропускаем
        Продолжить;
    КонецЕсли;

      Элемент = Наменклатура.ПолучитьОбъект();


данная проверка позволит вам только для товара у которых еще не было учета по характеристикам их создавать.

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

если вам важно конкретный состав характеристик по товарам, тогда лучше с помощью запроса получить выборку, конкретных товаров, которым надо создать нужные характеристики, в этом случае все зависит от результата запроса, товары которые уже были обработаны и/или имеют нужные характеристики в результат запроса не попадут.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн _max_

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-08-07
  • Сайт: 
  • Профессия: Ученик 1С
самое простое смотреть флаг ВестиУчетПоХарактеристикам

ваш код
Пока Наменклатура.Следующий() Цикл
     
     
      Элемент = Наменклатура.ПолучитьОбъект();

замените на следующий

Пока Наменклатура.Следующий() Цикл
   
    //проверка 
    Если Наменклатура.ВестиУчетПоХарактеристикам Тогда
        //считаем что по данной номенклатуре Характеристики есть, пропускаем
        Продолжить;
    КонецЕсли;

      Элемент = Наменклатура.ПолучитьОбъект();


данная проверка позволит вам только для товара у которых еще не было учета по характеристикам их создавать.

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

если вам важно конкретный состав характеристик по товарам, тогда лучше с помощью запроса получить выборку, конкретных товаров, которым надо создать нужные характеристики, в этом случае все зависит от результата запроса, товары которые уже были обработаны и/или имеют нужные характеристики в результат запроса не попадут.

Не работает
Добавлено: 21 Янв 2015, 15:35

Если есть ВестиУчетПоХарактеристикам в номенклатуре то новые не добавляет, если нету не одной то все добавляет а так работает

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
да, по простому не получилось,
тогда переходите ко второму варианту (с запросом).

Помогло? - Нажми СПАСИБО!!!
                       :)


Теги:
 

Как вызвать "Анализ субконто" из справочника "Контрагенты"

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

Ответов: 1
Просмотров: 6500
Последний ответ 06 Фев 2012, 10:46
от cska-fanat-kz
Заполнение поля табличной части документа из табличной части справочника.

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

Ответов: 3
Просмотров: 4201
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

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

Ответов: 1
Просмотров: 638
Последний ответ 10 Май 2017, 20:44
от ilnur75
Как сделать, чтобы поле в документе имело тип "ссылка на поле справочника"?

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

Ответов: 5
Просмотров: 2039
Последний ответ 05 Мар 2017, 14:36
от Igor100500
Изменение цвета при подборе сотрудника в форме списка справочника "Сотрудники организации" для документа "Зарплата к выплате организаций" ЗУП 2.5

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

Ответов: 2
Просмотров: 271
Последний ответ 12 Окт 2017, 14:02
от wise

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
47 Сообщений
andron81_81
44 Сообщений
oleg-x
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal