1с 8 2 как изменить документ программно
Перейти к содержимому

1с 8 2 как изменить документ программно

  • автор:

1с 8 2 как изменить документ программно

Процедура ОсновныеДействияФормыДействие(Кнопка)
выборка = документы.Событие.Выбрать(начдата, кондата);
пока выборка.Следующий() цикл

Форма = документы.Событие.ПолучитьФорму(«ФормаДокумента»);
Форма.Элементыформы.подтверждение.Значение = истина;

конеццикла;
КонецПроцедуры
Пытаюсь обработкой за указанный период в документах изменить реквизит в значение «истина», не получается. Притом, если в процедуре сделать «сообщить», то в комментариях выводит правильное значение, а в документе не записывает. Не могу понять в чем ошибка.

объект надо получать

Если пытаешься изменить реквизит документа, то при чем тут элементы формы?

Кстати, слово «Записат» пишется таки с мягким знаком.

Объект= выборка.ПолучитьОбъект();
Объект. Подтверждение=Истина;
Объект. Записать(режимзаписидокумента.Запись);

Разработчику о работе с 1С:Предприятие, Pascal, Паскаль

Решение вопросов, возникающие при автоматизации учета с помощью 1С:Предприятие. Паскаль.

Как изменить значение реквизита документа 1С?

15.12.2016 | Автор Дмитрий

Как изменить значение реквизита документа 1С?
Часто возникает потребность изменить какое-то значение в отдельном реквизите. И не в одном документе, в в нескольких документах. Возможно использовать запрос.
Например:

Процедура ИзменитьЗначениеВРеквизите() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказПокупателя.ДатаОплаты, | ЗаказПокупателя.Ссылка |ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя |ГДЕ | ЗаказПокупателя.Контрагент = &Контрагент | И ЗаказПокупателя.Дата >= &Дата"; Запрос.УстановитьПараметр("Контрагент",ВыбКонтрагент); Запрос.УстановитьПараметр("Дата",НачалоГода(ТекущаяДата())); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбДок=ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект(); ОбДок.ДатаОплаты=КонецГода(ТекущаяДата());//изменение реквизита ОбДок.Записать(РежимЗаписиДокумента.Проведение); Сообщить(" "+ОбДок); КонецЦикла; КонецПроцедуры Процедура КнопкаВыполнитьНажатие(Кнопка) // Вставить содержимое обработчика. ИзменитьЗначениеВРеквизите(); КонецПроцедуры

В статье был рассмотрен вопрос:
Как изменить значение реквизита документа 1С?

Рубрика: 1С:Предприятие 8.2, Без рубрики

Как программно изменить реквизит Уточнение Наименования в справочниках Сотрудники и Физлица

Кто может подсказать: Как программно изменить реквизит Уточнение Наименования в справочниках Сотрудники и Физлица? Во внешней обработке команда:

Для Каждого Текстрока Из ДокументСсылка.Сотрудники Цикл СотрудникОбъект = Текстрока.Сотрудник.ПолучитьОбъект(); ФизлицоОбъект = СотрудникОбъект.ФизическоеЛицо.ПолучитьОбъект(); СотрудникОбъект.УточнениеНаименования = "Кл."; ФизлицоОбъект.УточнениеНаименования = "Кл."; СотрудникОбъект.Записать(); ФизлицоОбъект.Записать(); КонецЦикла;

После выполнения, если открываешь элемент справочника, то там «Уточнение Наименования» выглядит так как хочется, а вот в Списке отображается старое значение! Что еще нужно дописать, чтобы и в Списке отображалось как в элементе?
Спасибо!

поменять программно вид операции документа

«Документ.ВидОперации = Перечисления.ВидыОперацийПоступлениеДенежныхСредств.ПрочееПоступление;

ругается:

: Поле объекта недоступно для записи (ВидОперации)
Документ.ВидОперации = Перечисления.ВидыОперацийПоступлениеДенежныхСредств.ПрочееПоступление;»

Денис (САМАРА)
читатель
Дата регистрации: 09.04.2008
Сообщений: 8351
09.08.2011 12:38

Остановитесь отладчиком на этой строке и посмотрите что такое объект «Документ».

читатель
Дата регистрации: 05.03.2007
Сообщений: 1701
09.08.2011 12:39

Что такое Документ? Как его получили?
Если ТипЗнч(Документ) — Ссылка, то ясное дело не доступно для записи.

читатель
Дата регистрации: 23.12.2010
Сообщений: 1333
09.08.2011 12:57

Да и гуглом бы пора начать пользоваться,а то по каждому поводу тему создавать,тоже не дело!

читатель
Дата регистрации: 07.01.2011
Сообщений: 71
09.08.2011 16:12

дело в том что он по номеру документ анйти не может, хотя вроде все правильно делаю Документы.ПоступлениеНаРасчетныйСчет.НайтиПоНомеру(«Ав000001318»)

читатель
Дата регистрации: 07.01.2011
Сообщений: 71
09.08.2011 16:19

«так тоже не получается =((

Документ = Документы.ПоступлениеНаРасчетныйСчет.НайтиПоРеквизиту(«Номер»,ном);»

активный пользователь
Дата регистрации: 18.02.2002
Сообщений: 20941
09.08.2011 16:23

Весь код выложи.

читатель
Дата регистрации: 07.01.2011
Сообщений: 71
09.08.2011 17:15

«Вот весь код=)) в конфигураторе реквизит Номер имеет тип строка

ном = «Ав000001318»;
Документ = Документы.ПоступлениеНаРасчетныйСчет.НайтиПоРеквизиту(«Номер»,ном);»

читатель
Дата регистрации: 27.02.2009
Сообщений: 448
10.08.2011 14:56

«Документ = Документы.ПоступлениеНаРасчетныйСчет.НайтиПоНомеру(«Ав000001318»).ПолучитьОбъект();
Документ.ВидОперации = ВидОперации;

Попробуйте так)»

активный пользователь
Дата регистрации: 18.02.2002
Сообщений: 20941
10.08.2011 16:11

> дело в том что он по номеру документ анйти не может, хотя вроде все правильно делаю Документы.ПоступлениеНаРасчетныйСчет.НайтиПоНомеру(«Ав000001318»)

Показывать по 10 20 40 сообщений

Читают тему:

Мероприятия

© ООО «1С-Паблишинг» (материалы)

При использовании материалов активная прямая гиперссылка на перепечатанный материал обязательна.

Редакция БУХ.1С не несет ответственности за мнения и информацию, опубликованную в комментариях к материалам.

Редакция уважает мнение авторов, но не всегда разделяет его.

Дизайн сайта

© ООО «1C» 2000-2024 г.

Мы используем файлы cookie, чтобы анализировать трафик, подбирать для вас подходящий контент и рекламу, а также дать вам возможность делиться информацией в социальных сетях. Если вы продолжите использовать сайт, мы будем считать, что вас это устраивает.

Добавить комментарий

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