Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Помогите со временем 1С Далион

Помогите со временем 1С Далион
Я
   VoldeMarusss
 
08.11.16 - 12:23
Как заставить устанавливать время 08:00:00 НачалоДня

// Даты устанавливаются для РежимСнятияОтчета = 2

     ДатаНач = НачалоДня(ТекущаяДата()-(26*60*60));
     ДатаКон = КонецДня(ТекущаяДата());
 
 
   Ёпрст
 
1 - 08.11.16 - 12:29
26*60*60 Эт Че ?
   Ёпрст
 
2 - 08.11.16 - 12:30
ПараметрДата = НачалоДня(ТекущаяДата()-86400*КолВоДней);
   Ёпрст
 
3 - 08.11.16 - 12:30
если что,
   shadow_sw
 
4 - 08.11.16 - 12:30
ДатаНач = НачалоДня(ТекущаяДата())+8*60*60;
(1) Марс!
   Ёпрст
 
5 - 08.11.16 - 12:31
Это если надо от текущей даты отнять количество дней.
   VoldeMarusss
 
6 - 08.11.16 - 13:01
(5) у меня внешний отчет он в табличной части выставляет параметры выгрузки из кассы например: режим снятия отчета период         начало дата время       конец дата время
              07-11-2016 08:00:00   08-11-2016 23:59:59
так вот у меня встает вместо 07-11-2016 08:00:00 , 07-11-2016 00:00:00
   Ёпрст
 
7 - 08.11.16 - 13:01
(6) ну, см (4).
   Ёпрст
 
8 - 08.11.16 - 13:02
Тьфу млин.
в конечную дату отчета пихай КонецДня(ТекущаяДата()) и привет.
   VoldeMarusss
 
9 - 08.11.16 - 13:09
(7) (8) если использовать 
ДатаНач = НачалоДня(ТекущаяДата())+8*60*60;

то проставляет текущую дату начало и конец дня
А мне надо минус 1 день в дате начало.

он ставит  08-11-2016 08:00:00 до 08-11-2016 23:59:59
а мне надо 07-11-2016 08:00:00 до 08-11-2016 23:59:59
   Ёпрст
 
10 - 08.11.16 - 13:11
да охренеть :)

ДатаНач = НачалоДня(ТекущаяДата()-86400)+8*60*60;
так шо ле надо ?
 
 Рекламное место пустует
   VoldeMarusss
 
11 - 08.11.16 - 13:13
(10) ЁЁЁ То что надо Респект !!!! ЕЕЕЕЕ Спасибо!!!
   VoldeMarusss
 
12 - 08.11.16 - 15:43
Как заставить ставить время проведения документа 23:59:59 мозг сломал не могу добиться.
//

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

// Обработчик нажатия кнопки ПометкаУдал
   Ёпрст
 
13 - 08.11.16 - 15:48
(12) Если документ проведён, то снять с проведения, ДокОбъект.Дата=КонецДня(ДокОбъект.Дата);
записать, провести, ели необходимо..
   VoldeMarusss
 
14 - 08.11.16 - 16:12
(13) не работает. блин
   Ёпрст
 
15 - 08.11.16 - 16:13
(14) показывай, че делал
   VoldeMarusss
 
16 - 08.11.16 - 16:16
(15) А все понял !!! блин тормаз .. все заработало.
   VoldeMarusss
 
17 - 09.11.16 - 07:32
(16) ДокОкс.Дата = КонецДня(ДатаДокумента);
Вообще в другом модуле заполняется табличный документ.
Если БратьТекущуюДату Тогда
            
            Если ТаблицаДокументов.Количество() = 0 Тогда
                ДокОКС.Дата = ТекДатаВремя;
            Иначе
                ТекДатаВремя = ТекДатаВремя + 1; 
                НетСвободногоВремени = Истина;
                
                Пока НетСвободногоВремени Цикл
                    НетСвободногоВремени = Ложь;
                    ТекДатаВремя = ТекДатаВремя - 1;
                    Для Каждого СтрокаТЧ Из ТаблицаДокументов Цикл
                        Если СтрокаТЧ.Склад = СтрокаОКС.ОКС.Склад И СтрокаТЧ.ДатаДокумента = ТекДатаВремя Тогда
                            НетСвободногоВремени = Истина;
                            Прервать;
                        КонецЕсли;
                    КонецЦикла;
                КонецЦикла;        
                
                Если ТекДатаВремя >= НачалоДня(ДатаДокумента) Тогда
                    ДокОКС.Дата = ТекДатаВремя;
                Иначе
                    ДокОКС.Дата = НачалоДня(ДатаДокумента);
                КонецЕсли;
                
            КонецЕсли;
            
        Иначе
            
            Если ТаблицаДатДокументов.Количество() = 0 Тогда
                ДокОКС.Дата = ДатаДокумента;
                ДокОКС.УстановитьВремя(АвтоВремя.Последним);
            Иначе
                
                Запрос = Новый Запрос;
                Запрос.УстановитьПараметр("ДатаНач", ТаблицаДатДокументов[0].Дата);
                Запрос.УстановитьПараметр("ДатаКон", КонецДня(ДатаДокумента));
                Запрос.УстановитьПараметр("Склад", СтрокаОКС.ОКС.Склад); 
                Запрос.Текст =
                "ВЫБРАТЬ
                |    ЕСТЬNULL(МАКСИМУМ(ОтчетКассовойСмены.Дата), &ДатаНач) КАК Дата
                |ИЗ
                |    Документ.ОтчетКассовойСмены КАК ОтчетКассовойСмены
                |ГДЕ
                |    ОтчетКассовойСмены.Склад = &Склад
                |    И ОтчетКассовойСмены.Дата МЕЖДУ &ДатаНач И &ДатаКон";
                
                Таб = Запрос.Выполнить().Выгрузить();
                
                Если (Таб[0].Дата) <> КонецДня(ДатаДокумента) Тогда
                    ДокОкс.Дата = Таб[0].Дата + 1;
                Иначе
                    ДокОкс.Дата = КонецДня(ДатаДокумента);
                КонецЕсли;
                
            КонецЕсли;
            
        КонецЕсли;

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует