|
Нужно установить время документа | ☑ | ||
---|---|---|---|---|
0
Тессеракт
24.12.20
✎
14:24
|
Всем доброго дня и с наступающими праздниками, дамы и господа!
В честь НГ- праздничный вопрос) Появилась необходимость, чтобы в бп3.0 у всех банковских выписок(поступления на расч сч и списание с расч сч) было фикс время 9:00:00. Выгрузка происходит через обработку, которая подгружает файлик от банка. В нее хочу вставить код смены времени, но чтоб его отладить сначала доп обработкой тестирую. В обработке форма с одной кнопкой. Вот код: &НаКлиенте Процедура Команда1(Команда) ккк(); КонецПроцедуры &НаСервере Процедура ккк() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПоступлениеНаРасчетныйСчет.Ссылка КАК Ссылка, | ПоступлениеНаРасчетныйСчет.Дата КАК Дата, | ПоступлениеНаРасчетныйСчет.Номер КАК Номер |ИЗ | Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет |ГДЕ //| ПоступлениеНаРасчетныйСчет.Дата >= ДОБАВИТЬКДАТЕ(&дата, ДЕНЬ, -2) //&дата //666 //| И //666 | НЕ ЧАС(ПоступлениеНаРасчетныйСчет.Дата) = 9 | И НЕ МИНУТА(ПоступлениеНаРасчетныйСчет.Дата) = 0 | И НЕ СЕКУНДА(ПоступлениеНаРасчетныйСчет.Дата) = 0"; //Запрос.УстановитьПараметр("дата", ТекущаяДата()); //-2*24*60*60); //666 РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Выгрузка = РезультатЗапроса.Выгрузить(); ч=9; м=0; с=0; Пока Выборка.Следующий() Цикл кк= Выборка.ссылка.получитьобъект(); кк.УстановитьВремя(9,0,0); //Час(кк.дата)= 9; //Минута(кк.дата)= 0; //Секунда(кк.дата)= 0; кк. Записать(); //режимзаписидокумента.Запись КонецЦикла; КонецПроцедуры 1 проблема: если раскомментить //666 тогда в цикл отладка не проваливается, хотя в консоли запрос выдает ~30 строк результата. 2 проблема: УстановитьВремя почему то ругается на силшком много параметров. Слишком много фактических параметров {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(32)}: кк.УстановитьВремя(9,0,0); {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(3)}: ккк(); Я был хорошим недопрогером весь год, прошу деда мороза и вас, друзья, помочь мне установить время этим докам)) |
|||
1
Mihasya
24.12.20
✎
14:27
|
кк= Выборка.ссылка.получитьобъект();
кк.Дата = Дата(2020, 12, 1, 9, 0, 0) Не? |
|||
2
ДенисЧ
24.12.20
✎
14:28
|
ДокументОбъект.<Имя документа> (DocumentObject.<Document name>)
УстановитьВремя (SetTime) Синтаксис: УстановитьВремя(<РежимОпределенияВремени>, <ИспользоватьЖурналы>) |
|||
3
Тессеракт
24.12.20
✎
14:34
|
(1) У меня глюк или сообщение не отправилось?? я писал: что дата дока должна остаться неизменной, а изменить надо, только время
(2) не могли бы Вы пример в данных реалиях привести? я так пробовал- пишет не может найти УстановитьВремя |
|||
4
Тессеракт
24.12.20
✎
14:35
|
PR и Ненавижу 1С - господа ветераны, помогите пжлст молодому дарованию))
|
|||
5
ДенисЧ
24.12.20
✎
14:37
|
(3) Я говорю, что у метода УстановитьВремя() совершенно другие параметры. Правильно как в (1)
|
|||
6
Тессеракт
24.12.20
✎
14:39
|
(5) понял. Как в (1) моожно сделать не трогая гггммдд?
или получить из запроса день, месяц и год и их подставить? |
|||
7
Тессеракт
24.12.20
✎
14:44
|
(1) и (5) спасибо, получилось! сделал так:
"ВЫБРАТЬ | ПоступлениеНаРасчетныйСчет.Ссылка КАК Ссылка, | ПоступлениеНаРасчетныйСчет.Дата КАК Дата, | ПоступлениеНаРасчетныйСчет.Номер КАК Номер, | Год(ПоступлениеНаРасчетныйСчет.Дата) как год, | Месяц(ПоступлениеНаРасчетныйСчет.Дата) как месяц, | День(ПоступлениеНаРасчетныйСчет.Дата) как день и потом кк= Выборка.ссылка.получитьобъект(); кк.дата = Дата(выборка.год,выборка.месяц,выборка.день, 9, 0, 0); Это решило вопрос 2, а вопрос 1 все еще открыт |
|||
8
ДенисЧ
24.12.20
✎
14:45
|
(6) А зачем из запроса, если они есть у тебя в документе?
.Дата = Дата(Год(.Дата), Месяц(.Дата), День(.Дата), твойчас, твойминут, твойсекунд) перед . поставь нужную переменную |
|||
9
Тессеракт
24.12.20
✎
14:47
|
(8) аа, точняк)
|
|||
10
Малыш Джон
24.12.20
✎
14:51
|
(0) кк.Дата = НачалоДня(кк.Дата)+9*3600;
|
|||
11
Тессеракт
24.12.20
✎
14:54
|
(10) вот это оптимум!!
Джон, а что касаемо вопроса 1 думаешь? |
|||
12
Тессеракт
24.12.20
✎
14:59
|
Кажется до п1 я домер. 30 строк результата показывает в боевой базе, а в тестовой хоть поступления и есть, но кажет в консоли 0 строк. Буду разбираться! Всем спасибо!
|
|||
13
Mihasya
24.12.20
✎
15:13
|
| ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(АвансовыйОтчет.Дата, ДЕНЬ), ЧАС, 9) КАК Дата,
... кк = Выборка.ссылка.получитьобъект(); кк.Дата = Выборка.Дата |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |