Групповое изменение реквизитов с помощью произвольного алгоритма

1. sid_oy 05.10.21 14:01 Сейчас в теме
Подскажите пожалуйста, нужно составить произвольный алгоритм для изменения реквизита, конкретно нужно в документах поменять время, часы и минуты.
То есть к примеру получаю список документов Сборка товаров,и во всем списке нужно проставить время 16:30
Подскажите пожалуйста как можно это сделать, не затрагивая дату.
По теме из базы знаний
Найденные решения
16. sid_oy 06.10.21 10:12 Сейчас в теме
Объект.Дата = НачалоДня(Объект.Дата) + 16*3600 + 30*60;

вот с этим кодом все прошло нормально, спасибо. Указал запись объекта Автоматически, режим выполнения: Безопасный.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. provadyuga 99 05.10.21 14:06 Сейчас в теме
Дата = НачалоДня(Дата) + 16*3600 + 30*60;
3. sid_oy 05.10.21 14:18 Сейчас в теме
(2)
Дата = НачалоДня(Дата) + 16*3600 + 30*60;

выдает ошибку Преобразование значения к типу Дата не может быть выполнено
4. provadyuga 99 05.10.21 14:33 Сейчас в теме
(3) Прибавлять к
НачалоДня(Дата)
нужно число, а не строку.
5. sid_oy 05.10.21 14:46 Сейчас в теме
(4)
кроме кода ничего не указываю
Прикрепленные файлы:
13. DBV 05.10.21 16:25 Сейчас в теме
(5) попробуйте так
Объект.Дата= НачалоДня(Объект.Дата) + 16*3600 + 30*60;
6. provadyuga 99 05.10.21 14:48 Сейчас в теме
(5) Попробуйте так
Дата = НачалоДня(Дата) + Число(16*3600 + 30*60);
7. sid_oy 05.10.21 14:55 Сейчас в теме
(6)
НачалоДня(Дата)


почему то ругается конкретно на это, если только данное выражение оставить, появляется ошибка.
8. provadyuga 99 05.10.21 14:58 Сейчас в теме
(7) Может консоль кода что-то не дорабатывает. Я сделал такой код в обработке с реквизитом "Дата"
&НаКлиенте
Процедура ВыполнитьОбработку(Команда)
	Объект.Дата = НачалоДня(Объект.Дата) + 16*3600 + 30*60;
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Объект.Дата = ТекущаяДата();
КонецПроцедуры
Показать
И время у даты изменилось на 16.30. Ошибок не было.
9. sid_oy 05.10.21 15:32 Сейчас в теме
(8)
Объект.Дата = НачалоДня(Объект.Дата) + 16*3600 + 30*60;

запустил только это, ничего не отработало(
10. provadyuga 99 05.10.21 15:40 Сейчас в теме
(9) Рабочий код, только что проверил
&НаСервере
Процедура ОбработатьДокументыНаСервере()
	
	Выборка = Документы.ПриходТМЗ.Выбрать(ДатаНачала, ДатаОкончания);
	Пока Выборка.Следующий() Цикл
		ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
		ДокОбъект.Дата = НачалоДня(ДокОбъект.Дата) + 16*3600 + 30*60;
		ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
	КонецЦикла;	
	
КонецПроцедуры

&НаКлиенте
Процедура ОбработатьДокументы(Команда)
	ОбработатьДокументыНаСервере();
КонецПроцедуры
Показать
11. provadyuga 99 05.10.21 15:42 Сейчас в теме
(9) Если у вас список документов, то переберите этот список вместо выборки.
12. sid_oy 05.10.21 16:14 Сейчас в теме
(11) Странно что прям в обработке не получается сделать..
14. provadyuga 99 05.10.21 17:53 Сейчас в теме
(12) Та же ошибка "Преобразование значения к типу Дата не может быть выполнено" ?
15. sid_oy 06.10.21 10:03 Сейчас в теме
(14)нет, пишет что все выполнено. но в документах дата не поменялась.
16. sid_oy 06.10.21 10:12 Сейчас в теме
Объект.Дата = НачалоДня(Объект.Дата) + 16*3600 + 30*60;

вот с этим кодом все прошло нормально, спасибо. Указал запись объекта Автоматически, режим выполнения: Безопасный.
Оставьте свое сообщение

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