Grafana: выборка в запросе диапазона дат из переменных

Если требуется обработать и показать данные по выбранному диапазону, то необходимо использовать в запросе переменные $__from и $__to. Однако стоит учитывать, что они в запросе встают как время с эпохи unix. А именно большое длинное число. Поэтому если например в БД у даты типа дата, без времени, то приходится использовать преобразование вида:

EXTRACT(EPOCH from agreements_dt)*1000

Чтобы из даты вида 2026-01-01 получить 1767214800000. Ну и соответственно в запросе:

select to_char(date_trunc('day', dt), 'YYYY-MM-DD'),count(*) as "Великоустюгское территориальное отделение" from (
                    select 
                            date_trunc('month', agreements_dt)::date as dt
                    from 
                            ls 
                    where EXTRACT(EPOCH from agreements_dt)*1000 between $__from and $__to and owner='000000003' and agreements_dt is not null
                    ) as agr
            group by dt 
            order by dt	asc

Grafana: корректное отображение даты

Иногда при построении графика (например Bar chart) на основании запроса в PostreSQL, дата отображается не верно, а именно, примерно так:

Для того чтобы сиё поправить, нужно привести дату строго в формат YYYY-MM-DD. Например так:

select to_char(date_trunc('day', dt), 'YYYY-MM-DD'),count(*) as "${division:text}" from (
                    select 
                            date_trunc('month', agreements_dt)::date as dt
                    from 
                            ls 
                    where agreements_dt>'2018-01-01' and
							owner in ('$division') and
                            agreements_dt is not null
                    ) as agr
            group by dt
            order by dt	desc

В итоге получится вот это:

Postgresql: перебор всех записей таблицы в функции

Задача: обновить все записи одной таблицы, на основании данных другой таблицы. Причем условие сложное, которое просто в запрос update from select не впехнешь

Решение: сделаем функцию, которая собственно будет последовательно перебирать таблицу, и обновлять данные

CREATE OR REPLACE FUNCTION public.update_epd_cancel()
	RETURNS int4
	LANGUAGE plpgsql
AS $function$
DECLARE
    crsr CURSOR FOR SELECT * FROM refusals;  -- курсор для запроса
	emp RECORD;
	BEGIN
		 OPEN crsr;  -- открываем курсор
		LOOP
        FETCH crsr INTO emp;  -- извлекаем следующую строку в переменную
        EXIT WHEN NOT FOUND;  -- если строк больше нет — выходим
	    update ls set dt_cancel_epd_bill=emp.dt where ls.id=emp.ls; -- обработка строки
        update ls set dt_cancel_epd_bill=emp.dt where ls.id=emp.ls_epd; -- обработка строки
    END LOOP;
    CLOSE crsr;  -- закрываем курсор
    return 0;
	END;
$function$
;

1С Бухгалтерия: Добавить файл в справочник Файлы

Есть в 1С Бухгалтерия один справочник, называется «Файлы». И возникла у меня идея использовать его как «файлопомойку» для всяких разных целей. Ну чтобы не плодить разные сущности типа дополнительных справочников. А что? Просто раскладывать всё по нужным папочкам да и всё..

Как оказалось использовать его довольно просто:

	Текст=новый ЗаписьТекста;
    Текст.Открыть(КаталогВременныхФайлов()+"\1.txt",КодировкаТекста.ANSI);
    Текст.ЗаписатьСтроку("Программируем в 1С 8.2");
    Текст.Закрыть(); 
	
	ИмяФайлаНаДиске = КаталогВременныхФайлов()+"\1.txt";	
	ДвоичныеДанные = Новый ДвоичныеДанные(ИмяФайлаНаДиске);
	ВременноеХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
	
	// Подготоваливаем описание файла заполнив все необходимые параметры
	ПараметрыФайла = РаботаСФайлами.ПараметрыДобавленияФайла();
	ПараметрыФайла.Автор = Пользователи.ТекущийПользователь();
	ПараметрыФайла.ВладелецФайлов = Справочники.ПапкиФайлов.НайтиПоНаименованию("Росфинмониторинг").Ссылка;
	ПараметрыФайла.ИмяБезРасширения = "Абырвалг";
	ПараметрыФайла.РасширениеБезТочки = "txt";
	// Используем функцию БСП и добавляем файл к объекту
	РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, ВременноеХранилище);	

Чтиво за последнее время

Путь строителя 1-11. Ковтунов Алексей. Сюжет: Строитель-подрывник погибает на объекте и возрождается в теле малохольного юноши в деревне. Другой мир или измерение. Где есть мана (основа) и система. Оценка 4/5.

Затерянная планета древних. Аристов Руслан Иванович. Сюжет: умер, очнулся в медицинской капсуле. Вселенная EVO. Не осилил. Оценка 2/5

Смотритель Маяка 1-2. Град Артём, Шиленко Сергей. Сюжет: умер, очнулся смотрителем маяка, непонятно где. Есть некое подобие «системы». Читабельно, но не захватываемо. Дочитал только из-за того что не нашел что-то поинтереснее в тот момент. Оценка 3/5

Плацдарм в сарае 1..3. Антонов Михаил. Сюжет: Чел обнаруживает у себя в сарае переход на другую планету. А там дальше мир EVO. Чиабельно, но далее 2 части, скучновато становится. Оценка 3/5

1 2 3 320