1с получить дату документа по ссылке
Здравствуйте.
В отчете на СКД в параметр передается ссылка на документ.
Как в другой параметр передать дату этого документа?
Необходимо для установки параметров на виртуальную таблицу.
Спасибо!
Пробовал через параметр это сделать:
Имеется параметр Ссылка (приходит из запроса параметр).
Его тип ДокументСсылка.ЗаказПоставщику
Имеется другой параметр ДатаДок, его Тип Дата
В выражении параметра датаДок пишу:
Пишет синтаксическая ошибка.
Видимо выразить нужно в запросе использовать.
Пробовал вот простейший пример:
(3) Через ВЫРАЗИТЬ никогда не пробовал. Если нужно реквизит параметра передать параметром в виртуальную таблицу - всегда передавал отдельным параметром. А "простейший пример" проще всего так переписать:
(3) что-то я не увидел в этом коде: "Необходимо для установки параметров на виртуальную таблицу."
Вот рабочий код:
(3) по самому запросу. Все должно отрабатывать.
Если "на выходе пустая дата", то это говорит только о том, что при левом соединении нет сопоставимых данных в правой таблице. Соответственно там null.
По-моему, на передачу параметров виртуальных таблиц действуют ограничения, не позволяющие впихнуть туда результат подзапроса (ВЫРАЗИТЬ с разименованием и получением реквизита - частный случай такого подзапроса).
(10) Не, даже там не взлетит. Да и как именно заполнять доп-параметр, если уж через него делать - не суть важно.
(14) а какая разница? Выражение - это примерно то же самое, что можно засунуть в "Выполнить". Вы считаете, что Выполнить("Дата = Период.Дата") отработает, а Выполнить("Дата = Документ.Дата") нет?
Стандартный период - это не таблица. Это просто объект в памяти без отображения в БД.
Язык выражений СКД можно сравнивать с Выполнить() весьма условно. Он отрабатывает в своем отдельном контексте, имеет ряд своих ограничений и строго валидируется еще при конфигурировании. Это отдельный DSL (пусть и частично пересекающийся с функционалом одновременно языка запросов и 1С), а Выполнить() - просто выполнение произвольного кода 1С в контексте своего вызова.
Что касается моих предыдущих высказываний про ограничения в параметрах виртуальных таблиц - они касаются конечно же именно параметров периодов. Я как-то это не акцентировал.
Это игра слов. Виртуальная таблица тоже не хранится в БД, однако от этого она не перестает быть таблицей.
Не интересовало, где точно хранятся значения Стандартного периода ("Сегодня", "Эта неделе" и т.д.), но логичнее это хранить в БД, чем в коде.
(20) Не согласен ни с первым, ни со вторым. Но согласен с отсутствием большого смысла в обсуждении этого.
Позволяет узнать, когда был создан документ или элемент справочника. Для получения информации используется уникальный идентификатор объекта в ИБ.
Похожие FAQ
10060 (0x0000274C): Попытка установить соединение была безуспешной 19
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через терминал, а еще у нее свой ноутбук и 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш 1C медленно работает по сети с базой на SQL Server 20
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. П 1C: Enterprise Development Tools 50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем Посмотреть все результаты поиска похожих
Еще в этой же категории
Полнотекстовый поиск в 1С (что это и пример использования) 23
Полнотекстовый поиск - позволит найти текстовую информацию, размещенную практически в любом месте используемой конфигурации. При этом искать нужные данные можно либо по всей конфигурации в целом, либо сузив область поиска до нескольких объектов Формат, функция форматирования значений 21
//Функция формирует удобное для чтения представление значений. // Примеры форматирования чисел ЗначФормат = Формат(123456.789, " ЧЦ=10; ЧДЦ=2" ); // ЗначФормат = " 123 456,79" ЗначФормат = Формат(123456.789, " ЧГ=0; ЧДЦ=2" ); // Знач Обработчики событий при записи объектов. Зачем и что за чем? 12
Программисту, имеющего немного опыта на платформе 1С 8.2, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта, а-а-а-а-аааа. Именно такое сложное чувство непонимания УстановитьСсылкуНового 11
Установить ссылку нового это специальный механизм программиста, который позволяет присваивать новому объекту нужную ссылку. В основном это задача обмена, во многих типовых обменах используется синхронизация по UID объекта. Рассмотрим этот метод на к МоментВремени, получение остатков до и после проведения 9
" Момент времени" - виртуальное поле, не хранится в базе данных. Содержит объект МоментВремени (который включает в себя дату и ССЫЛКУ НА ДОКУМЕНТ) В 7.7 было понятие ПозицияДокумента, а в 8.x Момент времени Для получения Остатков, Движений: М Посмотреть все в категории Встроенные Функции
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш 1С 8.x : Как убрать лидирующие нули в номере Документа (вариант2) 0
Скопировать строку с номером, с лидирующими нулями, в числовом поле (с форматом без групп, без группировки), и вернуть(скопировать) обратно в строковом поле с номером. Возвращает без нулей. Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Google maps, поиск оптимального маршрута 5
В данном посте хочу коснуться основных аспектов построения оптимального маршрута с использованием API Google maps. Исходные данные для построения маршрута: * Географические координаты объектов, которые хранятся в базе; * Координаты начальной и коне Посмотреть все результаты поиска похожих
Еще в этой же категории
Полнотекстовый поиск в 1С (что это и пример использования) 23
Полнотекстовый поиск - позволит найти текстовую информацию, размещенную практически в любом месте используемой конфигурации. При этом искать нужные данные можно либо по всей конфигурации в целом, либо сузив область поиска до нескольких объектов Формат, функция форматирования значений 21
//Функция формирует удобное для чтения представление значений. // Примеры форматирования чисел ЗначФормат = Формат(123456.789, " ЧЦ=10; ЧДЦ=2" ); // ЗначФормат = " 123 456,79" ЗначФормат = Формат(123456.789, " ЧГ=0; ЧДЦ=2" ); // Знач Обработчики событий при записи объектов. Зачем и что за чем? 12
Программисту, имеющего немного опыта на платформе 1С 8.2, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта, а-а-а-а-аааа. Именно такое сложное чувство непонимания УстановитьСсылкуНового 11
Установить ссылку нового это специальный механизм программиста, который позволяет присваивать новому объекту нужную ссылку. В основном это задача обмена, во многих типовых обменах используется синхронизация по UID объекта. Рассмотрим этот метод на к МоментВремени, получение остатков до и после проведения 9
" Момент времени" - виртуальное поле, не хранится в базе данных. Содержит объект МоментВремени (который включает в себя дату и ССЫЛКУ НА ДОКУМЕНТ) В 7.7 было понятие ПозицияДокумента, а в 8.x Момент времени Для получения Остатков, Движений: М Посмотреть все в категории Встроенные Функции
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Google maps, поиск оптимального маршрута 5
В данном посте хочу коснуться основных аспектов построения оптимального маршрута с использованием API Google maps. Исходные данные для построения маршрута: * Географические координаты объектов, которые хранятся в базе; * Координаты начальной и коне Посмотреть все результаты поиска похожих
Еще в этой же категории
Полнотекстовый поиск в 1С (что это и пример использования) 23
Полнотекстовый поиск - позволит найти текстовую информацию, размещенную практически в любом месте используемой конфигурации. При этом искать нужные данные можно либо по всей конфигурации в целом, либо сузив область поиска до нескольких объектов Формат, функция форматирования значений 21
//Функция формирует удобное для чтения представление значений. // Примеры форматирования чисел ЗначФормат = Формат(123456.789, " ЧЦ=10; ЧДЦ=2" ); // ЗначФормат = " 123 456,79" ЗначФормат = Формат(123456.789, " ЧГ=0; ЧДЦ=2" ); // Знач Обработчики событий при записи объектов. Зачем и что за чем? 12
Программисту, имеющего немного опыта на платформе 1С 8.2, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта, а-а-а-а-аааа. Именно такое сложное чувство непонимания МоментВремени, получение остатков до и после проведения 9
" Момент времени" - виртуальное поле, не хранится в базе данных. Содержит объект МоментВремени (который включает в себя дату и ССЫЛКУ НА ДОКУМЕНТ) В 7.7 было понятие ПозицияДокумента, а в 8.x Момент времени Для получения Остатков, Движений: М Механизм оповещений пользователя 8
Оповещение пользователей в 1с в управляемом приложени и могут быть вызваны как самой платформой, например, при записи документа, так и разработчиком, если он применит метод глобального контекста ПоказатьОповещениеПользователя() . ПоказатьОповещен Посмотреть все в категории Встроенные Функции
В 1С значение типа «Дата» – это календарная дата григорианского календаря (с 01 января 0001 года по 31 декабря 3999 год) и время с точностью до 0,1 миллисекунды. Разработчику неизбежно приходится сталкиваться с данным типом, поэтому в этой статье предлагаю ознакомиться с его основными функциями и принципами работы.
«Дата» в модулях 1С
Как инициализировать дату
С помощью литерала встроенного языка
С помощью функции 1С Дата()
Как указать пустую дату
Функции для работы с датой
Получить текущую дату
Получить отдельные части даты
Следует заметить, что пробел в номере года вставляется при установках по умолчанию (подразумевается, что не установлен признак группировки в региональных установках).
Определить дату и время начала некоторого периода из даты
Для решения таких задач существует набор функций НачалоГода(), НачалоКвартала(), НачалоМесяца(), НачалоНедели(), НачалоДня(), НачалоЧаса(), НачалоМинуты(). В параметр задаётся значение даты начало периода, которого необходимо определить.
Определить дату и время конца некоторого периода из даты
Для получения конца периода из даты, можно использовать специальные функции НачалоГода(), НачалоКвартала(), НачалоМесяца(), НачалоНедели(), НачалоДня(), НачалоЧаса(), НачалоМинуты(). Параметр принимает значение «нашей даты», аналогично, как и в функции Начало…().
Определить номер недели или дня в году
Определить номер дня в неделе
Как отнять или прибавить к дате в 1С год, месяц, день, час, минуту, секунду
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Чтобы прибавить, вычесть месяц или год правильно использовать функцию ДобавитьМесяц(, ). Если параметру задать отрицательное значение, то число месяцев отнимается.
Формат даты в 1С
Функция Формат(, ). В параметре перечисляются параметры форматирования через символ «;». Возвращаемый тип строка.
Для задания параметра можно воспользоваться «конструктором форматной строки». При написании кода вызвать его не составляет труда. Необходимо только нажать правую кнопку «мыши» и из контекстного меню выбрать одноимённый конструктор.
На вкладке «Дата» задаём нужный нам формат.
Как вызвать диалоговое окно для ввода даты
Не модальный режим:
«Дата» в запросах 1С
Инициализация даты в запросах
Функция ДАТАВРЕМЯ()
Стоит отметить, что параметры данной функции принимают только литералы в отличие от схожей на неё функции для работы с датой в модулях Дата(). Например запись с передачей в функцию полей выборки из временной таблицы ДАТАВРЕМЯ(вт.Год, вт.Месяц, вт.День) выдаст ошибку.
Пустая дата
Текущая дата и работа с условием по дате в запросе
Так же не стоит забывать, что передать в запрос дату можно с помощью параметра. Для указания текущей даты это единственный вариант.
Получить отдельные части даты. Функции: ГОД, КВАРТАЛ, МЕСЯЦ, ДЕНЬ, ЧАС, МИНУТА, СЕКУНДА
В запросе получить отдельные части даты возможно с помощью одноимённых функций ГОД(), КВАРТАЛ(), МЕСЯЦ(), ДЕНЬ(), ЧАС(), МИНУТА(), СЕКУНДА().
Получить начало, конец некоторого периода
Существует две функции для решения таких задач. Соответственно НАЧАЛОПЕРИОДА(, ) и КОНЕЦПЕРИОДА(, ).
Где в параметр указывается «наша дата», а в параметр задаётся значение периода (Год, Полугодие, Квартал, Месяц, Декада, Неделя, День, Час, Минута).
Аналогично и для функции КОНЕЦПЕРИОДА().
Добавить сдвиг к дате
Для решения таких задач пригодится функция ДОБАВИТЬКДАТЕ(, , ). В параметр задаётся «наша дата», в параметр временной интервал (Год, Полугодие, Месяц и т.д.).
Использование функции РАЗНОСТЬДАТ()
Читайте также: