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

Хранилище

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

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



> Регистры накопления остатки: проставить дату на конец дня          
Constantus Подменю пользователя
сообщение 04.06.18, 12:06
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)

Использую:

РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&Дата, ) КАК Взаиморасчеты


Как я выяснил параметр &Дата ставит дату на начало дня, а хотелось бы на конец

Перепробовал несколько способов, найденных в интернете, но что-то никак не могу выйти на конец дня в данном случае.

Подскажите что и где прописать, чтобы отчет на конец дня выводил?

sava1 Подменю пользователя
сообщение 04.06.18, 13:20
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

запрос.УстановитьПараметр("Дата", КонецДня(ДатаОст));


Constantus Подменю пользователя
сообщение 04.06.18, 13:24
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

sava1 @ Сегодня, 16:20 * ,
Цитата(sava1 @ 04.06.18, 16:20) *
запрос.УстановитьПараметр("Дата", КонецДня(ДатаОст));



У меня отчет СКД, а не отчет на базе классического запроса... Или при формировании СКД где-то можно прописать подобную конструкцию?

Gazulo Подменю пользователя
сообщение 04.06.18, 14:16
Сообщение #4

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

Constantus @ Сегодня, 14:24 *
А каким образом устанавливается параметр &Дата?

Constantus Подменю пользователя
сообщение 04.06.18, 14:19
Сообщение #5

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Gazulo @ Сегодня, 17:16 * ,


В виртуальной таблице

ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента,
    *****
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&Дата,) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки


sava1 Подменю пользователя
сообщение 04.06.18, 15:02
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(Constantus @ 04.06.18, 15:19) *
РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки({&Дата},) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки



вооще-то в скд такая хрень не применяется - там есть параметры

Constantus Подменю пользователя
сообщение 04.06.18, 15:10
Сообщение #7

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Цитата(sava1 @ 04.06.18, 18:02) *
вооще-то в скд такая хрень не применяется - там есть параметры



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

Bernet Подменю пользователя
сообщение 04.06.18, 15:53
Сообщение #8

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 317 раз
Рейтинг: 0

Constantus @ Сегодня, 13:06 * ,
Если у вас отчет на СКД и есть параметр &Дата, вы можете его установить в модуле объекта, событие "при компоновке результата". Пример:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    ПараметрПериод = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата");
    Если ПараметрПериод <> Неопределено Тогда
        ПараметрПериод .Значение = КонецДня(ТекущаяДата());
                ПараметрПериод .Использование = Истина;
    КонецЕсли;    
    
КонецПроцедуры


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Batchir Подменю пользователя
сообщение 04.06.18, 16:07
Сообщение #9

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Constantus @ Сегодня, 14:24 * ,

КОНЕЦПЕРИОДА(&Дата, ДЕНЬ)

Но преобразование параметра не желательно, могут возникнуть проблемы с быстродействием.
Если есть возможность, то в запросы лучше передавать уже готовые параметры


Сообщение отредактировал Batchir - 04.06.18, 16:09

Constantus Подменю пользователя
сообщение 07.06.18, 10:33
Сообщение #10

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Вот я тогда совсем ничего не понимаю...

У меня есть другой отчет:

ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(
            &Дата,
            &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
                ИЛИ Склад = &Склад) КАК ТоварыНаСкладахОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(
                &Дата,
                (&Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
                    ИЛИ Склад = &Склад)
                    И НЕ ТИПЗНАЧЕНИЯ(ДокументРезерва) = ТИП(Документ.ЗаказПокупателя)) КАК ТоварыВРезервеНаСкладахОстатки


Как видите, и мой первый пример и вот этот оба РН, оба по Остаткам, оба имеют параметр "Дата". Но первый пример при выборе даты дает начало дня, второй пример выводит четко на конец выбранного дня... Как такое может быть? Что я мог сотворить со вторым отчетом и недоделал с первым? icon_cuss.gif

При открытии второго отчета:
    УчетВремени = Ложь;    
    
    Если УчетВремени Тогда
        Дата = ТекущаяДата();
    Иначе
        Дата = КонецДня(ТекущаяДата());
    КонецЕсли;    
    
    ПараметрСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата");
    ПараметрСКД.Значение = Дата;//КонецДня(ТекущаяДата());
    ПараметрСКД.Использование = Истина;



Вот при открытии первого (тема топика), который на экран выводит конец дня, но считает на начало...

    Дата = КонецДня(ТекущаяДата());
    ПараметрСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата");
    ПараметрСКД.Значение = Дата;//КонецДня(ТекущаяДата());
    ПараметрСКД.Использование = Истина;


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


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

 

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