Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Разность двух дат в запросе 2 страниц V   1 2 >          
bereznoy Подменю пользователя
сообщение 08.04.12, 21:26
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Как в запросе получить разницу двух дат между текущей датой и датой документа
в целых числах и сравнить с числом, подскажите плз


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

Pepe Подменю пользователя
сообщение 08.04.12, 21:50
Сообщение #2

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1448
Из: Ужгород
Спасибо сказали: 763 раз
Рейтинг: 0

А Период в запросе указывайте. Или я чего-то не понял.

Сообщение отредактировал Pepe - 08.04.12, 21:51

bereznoy Подменю пользователя
сообщение 08.04.12, 21:51
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Цитата(Pepe @ 08.04.12, 22:50) *
А Период в запросе указывайте.

Конечно, но надо сравнить не количество дней между началом периода и концом периода, а текущую дату и дату документа


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

logist Подменю пользователя
сообщение 08.04.12, 22:02
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Передайте текущую дату как параметр, и сравнивайте с датой документа в запросе. в чем трабл?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

bereznoy Подменю пользователя
сообщение 08.04.12, 22:13
Сообщение #5

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Цитата(logist @ 08.04.12, 23:02) *
Передайте текущую дату как параметр, и сравнивайте с датой документа в запросе. в чем трабл?

Так и сделал, пишу функцию ....... и когда начинаю сравнивать
 .... когда (ТД-ДатаДок/86400<15)

аналогично сравниваю с интервалом дней от 15 до 30 и более 30 дней, это задолженность, грубо три колонки
в одной до 15 дней, вторая от 15 до 30, и 3-я более 30 дней, вообщем все в первой колонке,некоторые в третьей или второй
не ясно почему 47046430.gif

Кстати если пишу в запросе функцию и вывожу ее в отчет то показывает правильное количество дней,но как их сравнить
Функция Дни = Сумма(ТД-ДатаДок)
- показывает правильное количество дней!


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

MATEVI Подменю пользователя
сообщение 08.04.12, 23:00
Сообщение #6

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2203
Из: Одесса
Спасибо сказали: 968 раз
Рейтинг: 796.3

А что есть 86400? В 77 дата это дата без времени

bereznoy Подменю пользователя
сообщение 08.04.12, 23:02
Сообщение #7

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Цитата(MATEVI @ 09.04.12, 0:00) *
А что есть 86400? В 77 дата это дата без времени

60 сек * 60 минут * 24 часа = количество секунд в сутках, вообще это так.... пробы были ,предположения того что при разности получаются секунды


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

Ardi Подменю пользователя
сообщение 08.04.12, 23:37
Сообщение #8

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Запрос.УстановитьПараметр("Дата30",началоДня(ТекущаяДата())-(30 * 60*60*24));
Запрос.УстановитьПараметр("Дата15",началоДня(ТекущаяДата())-(15 * 60*60*24));


Сообщение отредактировал Vofka - 09.04.12, 7:51


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

bereznoy Подменю пользователя
сообщение 09.04.12, 20:31
Сообщение #9

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Вот сам отчетиГ короый добить не могу, помогите плз
[необходимо зарегистрироваться для просмотра ссылки]


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

Ardi Подменю пользователя
сообщение 09.04.12, 20:44
Сообщение #10

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

в 7.7 даты не выражаются в секундах и делить на 86400 ничего не нужно.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

bereznoy Подменю пользователя
сообщение 09.04.12, 20:46
Сообщение #11

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Цитата(Ardi @ 09.04.12, 21:44) *
в 7.7 даты не выражаются в секундах и делить на 86400 ничего не нужно.

А как мне сделать что взависимости от количества дней задолженности сумма отражалась в нужном столбце?


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

vnbsoft Подменю пользователя
сообщение 09.04.12, 20:57
Сообщение #12

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 2 раз
Рейтинг: 0

Дата2-Дата1 и получите разницу в днях, например дата2=09.04.12, дата1=02.04.12, дата2-дата1=7

bereznoy Подменю пользователя
сообщение 09.04.12, 21:03
Сообщение #13

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Цитата(vnbsoft @ 09.04.12, 21:57) *
Дата2-Дата1 и получите разницу в днях, например дата2=09.04.12, дата1=02.04.12, дата2-дата1=7

Дык я так и делал, я даже сам отчетик выложил по ссылочке, в этом и проблема что не получается, не равно "7"


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

Pepe Подменю пользователя
сообщение 09.04.12, 21:21
Сообщение #14

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1448
Из: Ужгород
Спасибо сказали: 763 раз
Рейтинг: 0

Размер файла 0. Так и должно быть?

bereznoy Подменю пользователя
сообщение 09.04.12, 21:30
Сообщение #15

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

[необходимо зарегистрироваться для просмотра ссылки]


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

vnbsoft Подменю пользователя
сообщение 09.04.12, 21:38
Сообщение #16

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 2 раз
Рейтинг: 0

Если я не ошибаюсь - проблема в Сумма(ДолгПоНакл). А с датами все нормально.

bereznoy Подменю пользователя
сообщение 09.04.12, 22:04
Сообщение #17

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Цитата(vnbsoft @ 09.04.12, 22:38) *
Если я не ошибаюсь - проблема в Сумма(ДолгПоНакл). А с датами все нормально.

Нет, например накладная выписана 16 дней назад, сумма будет в столбике там где срвание <15 , суммы все правильно показывает, по столбиками разносит не правильно, почти все в первом столбике

Пока нашел такой выход
    Пока Запрос.Группировка(1) = 1 Цикл
        
        // Заполнение полей РасходнаяРеализатора
        стр=стр+1;
        Если Запрос.Секунды>30 Тогда
            Тридцать=Запрос.ДолгПоНакл;
            ДоПятнадцати="";
            ДоТридцати="";
    ИначеЕсли Запрос.Секунды<15 Тогда
             ДоПятнадцати=Запрос.ДолгПоНакл;
             ДоТридцати="";
             Тридцать="";
//ИначеЕсли Запрос.Секунды<30 и Запрос.Секунды>15 Тогда
//            ДоТридцати=Запрос.ДолгПоНакл;
        КонецЕсли;
        Таб.ВывестиСекцию("РасходнаяРеализатора");
    КонецЦикла;


Вот только от 15 до 30 ругает на "и", подскажите плз

Вот такая вот ошибка
ИначеЕсли Запрос.Секунды>15 и Запрос.Секунды<<?>><30 Тогда
{Отчет.ФинОтчёт2012.Форма.Модуль(115)}: Неправильное использование арифметической или строковой операции


вроде условие что б было значение меньше 30 и больше 15, или если как то модно интервал задать от 15 до 30


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

vnbsoft Подменю пользователя
сообщение 09.04.12, 22:05
Сообщение #18

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 2 раз
Рейтинг: 0

Вместо ТД пишите РабочаяДата() в самом запросе и будет Вам счастье.

bereznoy Подменю пользователя
сообщение 09.04.12, 22:07
Сообщение #19

Оратор
*****
Группа: Пользователи
Сообщений: 329
Из: Simferopol
Спасибо сказали: 9 раз
Рейтинг: 0

Ооо...вот так работает
    Пока Запрос.Группировка(1) = 1 Цикл
        
        // Заполнение полей РасходнаяРеализатора
        стр=стр+1;
        Если Запрос.Секунды>30 Тогда
            Тридцать=Запрос.ДолгПоНакл;
            ДоПятнадцати="";
            ДоТридцати="";
    ИначеЕсли Запрос.Секунды<15 Тогда
             ДоПятнадцати=Запрос.ДолгПоНакл;
             ДоТридцати="";
             Тридцать="";
ИначеЕсли (Запрос.Секунды>15) и (Запрос.Секунды<30) Тогда
            ДоТридцати=Запрос.ДолгПоНакл;
            Тридцать="";
            ДоПятнадцати="";
        КонецЕсли;
        Таб.ВывестиСекцию("РасходнаяРеализатора");
    КонецЦикла;


Только теперь надо итоги внизу по столбикам в печатной форме, хз как!!! 44000000.gif


Signature
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад

vnbsoft Подменю пользователя
сообщение 09.04.12, 22:10
Сообщение #20

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 2 раз
Рейтинг: 0

Я ж написал что делать, а если уж хочется таким способом, то завести еще три переменные ИтогДоПятнадцати и т.д. и их суммировать по условию.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.25, 0:45
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!