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

Автор Тема: Удаление элемента справочника с помощью документа  (Прочитано 7636 раз)

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

Оффлайн AlexKag

  • **
  • Сообщений: 90
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-09-05
  • Сайт: 
  • Профессия: Ученик 1С
Добрый вечер. Помогите пожалуйста с таким вопросом. Создал документ, в документе есть поле флажка, и допустим поле ученик (справочник.ссылка.ученики), и нужно чтобы при нажатии на это поле флажка (допустим называется "отчислить") и проведении документа, в справочнике помечался на удаление этот самый элемент ученик. Подскажите, если не сложно как организовать такой код?


Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
ИмяРеквизитаДокумента.ПолучитьОбъект().УстановитьПометкуУдаления(Истина); //ИмяРеквизитаДокумента - твой ученик - тип справочникСсылка.ученики
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн ГК

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 4
  • КПД: 18%
  • Регистрация: 2011-11-21
  • Сайт: 
  • Профессия: Консультант 1С
В модуле объекта вашего документа:
Процедура ОбработкаПроведения(Отказ, Режим)
   
   Если Флаг Тогда
      СпрУченик = Ученик.ПолучитьОбъект();
      СпрУченик.ПометкаУдаления = Истина;
      СпрУченик.Записать();
   КонецЕсли;
КонецПроцедуры

Только зачем вам помечать элементы справочника на удаление, если удалить вы их не сможете? Ведь как минимум на этот документ будет ссылка у помеченной записи справочника.

Оффлайн AlexKag

  • **
  • Сообщений: 90
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-09-05
  • Сайт: 
  • Профессия: Ученик 1С
Вот сделал так, но почему-то элемент не помечается. Подскажите пожалуйста в чем ошибка?

Процедура ОбработкаПроведения(Отказ, Режим)
   Если Отчислить Тогда
   Ученики = Объект.Ученик.ПолучитьОбъект().УстановитьПометкуУдаления(истина);
   Ученики.Записать();
   Сообщить("Пометка на удаление установлена!");
   КонецЕсли;
КонецПроцедуры

Оффлайн Public_enemy

  • **
  • Сообщений: 52
  • РЕПУТАЦИЯ: 6
  • КПД: 12%
  • Регистрация: 2011-10-13
  • Сайт: www.alliancesystems.ru
  • Профессия: Программист 1С
Попробуй вот так:

Процедура ОбработкаПроведения(Отказ, Режим)
   Если Отчислить Тогда
   Ученики = Объект.Ученик.ПолучитьОбъект();
   Ученики.ПометкаУдаления = Истина;
   Ученики.Записать();
   Сообщить("Пометка на удаление установлена!");
   КонецЕсли;
КонецПроцедуры

Оффлайн mixqn

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

А вообще, ГК задал правильный вопрос: какой смысл в установке пометки удаления, если элементы все равно не удалятся? как минимум потому, что будут ссылки из вашего документа. Опишите стоящую задачу подробнее, вам посоветуют решение лучше, чем установка пометки удаления, например, ненужные элементы можно помещать в отдельную папку, либо добавить специальный реквизит, что-то вроде "архивный" или "не использовать".

Оффлайн AlexKag

  • **
  • Сообщений: 90
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-09-05
  • Сайт: 
  • Профессия: Ученик 1С
Вот подскажите пожалуйста, я сравнительно недавно занимаюсь программированием в 1с, поэтому некоторые моменты, мне еще сложно понимать. Задачу я хочу поставить такой - есть справочник, допустим студенты, и я хочу с помощью документа "Отчислить" сделать так, чтобы этот студент, который указан в справочнике, каким - то образом отчислялся, (будь то либо пометка удаления, либо еще что-нибудь)... Вот на самом деле хотел такой вариант, чтобы в справочнике студенты был какой то реквизит, например, статус, и чтобы при проведении этого документа, статус менялся допустим с "учится" на "отчислен". Каким образом, подскажите пожалуйста это можно сделать, если вам не сложно?

Оффлайн ГК

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 4
  • КПД: 18%
  • Регистрация: 2011-11-21
  • Сайт: 
  • Профессия: Консультант 1С
Для заполнения реквизита "СтатусСтудента" надо в конфигурацию добавить Перечисление СтатусыСтудента, где значениями будут "Отчислен", "Учится" и др.

Но если менять статус студента в справочнике - это неподходящий вариант. В этом случае в любой момент уже из элемента справочника пользователь может поменять флажок с "Отчислен" на "Учится", например. Можно, конечно, сделать его недоступным, только видимым... А отчеты будете строить по документам?
Если такой вариант подходит, тогда все просто: в приведенном выше коде меняете строчку
Ученики.ПометкаУдаления = Истина;
на
Ученики.ПометкаУдаления = Перечисления.СтатусыСтудента.Отчислен;

Для вашей задачи больше подходит РегистрСведений, где измерения - Студент (СправочникСсылка.Студенты), а ресурс - Статус (Перечисления.СтатусыСтудента). В качестве Регистратора надо указать ваш Документ "Отчисление". Также регистраторами для этого регистра могут быть документы зачисления, оформления академического отпуска и прочие.

Оффлайн mixqn

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

Оффлайн AlexKag

  • **
  • Сообщений: 90
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-09-05
  • Сайт: 
  • Профессия: Ученик 1С
Спасибо, я создал РегистрСведений, периодичность я указал - по позиции регистратора, регистратором пока у меня документ Отчисление является. Скажите пожалуйста, надо ли теперь писать какой-то код или еще что-нибудь в документе, или в Регистре?


Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

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

Ответов: 1
Просмотров: 4470
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Автоматическое заполнение табличной части документа из табличной части другого

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

Ответов: 6
Просмотров: 15903
Последний ответ 16 Авг 2012, 12:07
от Will
Добавление сведений в графу "основание" документа "ТОРГ-12"

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

Ответов: 4
Просмотров: 7734
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
"Не совпадают сумма документа и общая сумма по платежным ведомостям"

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

Ответов: 1
Просмотров: 4769
Последний ответ 11 Янв 2015, 02:55
от MuI_I_Ika
Заполнение столбца табличной части документа по умолчанию и выборка из табличной части.

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

Ответов: 4
Просмотров: 1579
Последний ответ 25 Май 2016, 19:38
от marshalbratsk

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
168 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal