Изменение реквизита документа по нажатию на кнопку на форме списка

1. AlexandrDmC 24.04.19 20:55 Сейчас в теме
Доброго времени суток
Подскажите, пожалуйста, как реализовать изменение реквизита существующего документа, путём нажатия на кнопку в форме списка документов
Управляемые формы
По теме из базы знаний
Найденные решения
2. tusv 211 24.04.19 21:08 Сейчас в теме
Приблизительно так
&НаКлиенте
Процедура ИзменитьРеквизит(Команда)
  ТД = Элементы.Список.ТекущиеДанные;
  Если ТД = Неопределено Тогда
      возврат;
   КонецЕсли;
   ИзменитьРеквизитНаСервере(Тд.Ссылка,"Вот такое вот наименование");
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ИзменитьРеквизитНаСервере(Ссылка,ЗначениеРеквизита)
   Объект = Ссылка.ПолучитьОбъект();
   Объект.Наименование = ЗначениеРеквизита;
   Объект.Записать();
КонецПроцедуры
Показать
pavelyar; user712426; AlexandrDmC; +3 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tusv 211 24.04.19 21:08 Сейчас в теме
Приблизительно так
&НаКлиенте
Процедура ИзменитьРеквизит(Команда)
  ТД = Элементы.Список.ТекущиеДанные;
  Если ТД = Неопределено Тогда
      возврат;
   КонецЕсли;
   ИзменитьРеквизитНаСервере(Тд.Ссылка,"Вот такое вот наименование");
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ИзменитьРеквизитНаСервере(Ссылка,ЗначениеРеквизита)
   Объект = Ссылка.ПолучитьОбъект();
   Объект.Наименование = ЗначениеРеквизита;
   Объект.Записать();
КонецПроцедуры
Показать
pavelyar; user712426; AlexandrDmC; +3 Ответить
3. dhurricane 24.04.19 21:22 Сейчас в теме
(2) Позволю себе дополнить Ваше решение небольшим украшением:
&НаКлиенте
Процедура ИзменитьРеквизит(Команда)
  ...
  ОповеститьОбИзменении(Тд.Ссылка);
КонецПроцедуры
user712426; AlexandrDmC; tusv; +3 Ответить
4. AlexandrDmC 24.04.19 21:24 Сейчас в теме
(2)
(3)
Спасибо, ребята
Но у меня такое не работало почему-то до тех пор, пока я в самой форме списка справа сверху не поставил галочку "Использовать всегда" у реквизита "Ссылка"
5. dhurricane 24.04.19 21:28 Сейчас в теме
(4) Если документ является основной таблицей динамического списка, можете использовать вместо:
Элементы.Список.ТекущиеДанные.Ссылка
это
Элементы.Список.ТекущаяСтрока

Тогда и от флага "Использовать всегда" можно отказаться.
6. AlexandrDmC 24.04.19 21:33 Сейчас в теме
7. AlexandrDmC 24.04.19 21:38 Сейчас в теме
(5)
(2)
Можете помочь с другим вопросом?
У меня есть обработчик, который программно создаёт новый документ, заполняет его, записывает и тут же открывает для изменений
Но если я его просто закрою, когда он открылся, то список документов не обновляется, его в ручную приходится обновлять
Пробовал программно уже что только не пихать, ничего не помогает
Может есть какое-то событие, про которое я не в курсях?
8. tusv 211 24.04.19 21:54 Сейчас в теме
(7)Денис же в (3) написал подсказку. Только зачем Записывать в базу. Можно жеж не записывая открыть форму с параметром "ЗначенияЗаполнения" .
9. AlexandrDmC 24.04.19 21:58 Сейчас в теме
(8)Можно поподробнее про параметр?
Я просто 2 дня убил на то, чтобы вообще документ открывался после обработки, получилось именно через "ОткрытьЗначение" по ссылке записанного документа
10. tusv 211 24.04.19 22:35 Сейчас в теме
(9) ЗначенияЗаполнения тип структура, передается в модуль объекта в событие ОбработкаЗаполнения в параметр ДанныеЗаполнения.
В общем смотришь событие ОбработкаЗаполнения и заполняешь структуру, как та процедура хочет, потом передаешь в ОткрытьФорму или ПолучитьФорму
ПараметрыФормы = Новый Структура("ЗначенияЗаполнения",Новый Структура);
ПараметрыФормы.ЗначенияЗаполнения.Вставить("Контрагент", Контрагент);
....
ОткрытьФорму("Документ.ПриходнаяНакладная.ФормаОбъекта",ПараметрыФормы);
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот