Для удобства работы с параметрами типа дата, в системе компоновки данных существует возможность использовать Стандартные периоды.
Как же их использовать?
Мы имеем отчет, в котором 2 параметра: Начало периода и Конец периода. Добавим в параметры третий параметр, назовем его Стандартный период и установим ему тип СтандартныйПериод.
Для параметров Начало периода и Конец периода в Выражение запишем следующее: &СтандартныйПериод.ДатаНачала
&СтандартныйПериод.ДатаОкончания
Также у этих параметров установим галку Ограничение доступности.
Все. Теперь можно пользоваться возможностями стандартного периода:
Кроме того, стандартная дата окончания содержит время 23:59:59 что избавляет от проблемы, когда в отчет не попадают данные за последний день! also
Пользователь выбрал период формирования отчета с 1июля по 31. Почему при формировании отчета в него не попадают данные за 31 число?
На самом деле, это одна из самых распространенных ошибок при разработке отчетов. В 1С 8.х дата содержит время с точностью до секунды, и если в своем отчете Вы описываете параметры следующим образом:
то при формировании пользователем отчета с 1 по 31 июля, фактически параметры будут заполнены так: НачалоПериода = 01.07.2010. 0:00:00, КонецПериода = 31.07.2010. 0:00:00. Т.е. данные, отличные от начала дня 31-го числа в отчет не попадут.
Для того, чтобы в отчет попали данные и за весь день 31 июля, необходимо написать в поле Выражение параметра КонецПериода следующее: КонецПериода(&КонецПериода,"День")
Тут КонецПериода() – функция языка выражений системы компоновки данных. also
Для использования в схеме компоновки данных внешнего набора данных сначала необходимо создать набор данных объект, и указать имя объекта, содержащего данные:
Далее необходимо программно выполнить формирование отчета, заполнив внешний набор данных:
В данном примере тз – переменная с типом таблица значений. also
Иногда в качестве заголовка отчета требуется задать что-нибудь сложное, вроде:
«Отчет за период с» + ДатаНачала + » по» + ДатаКонца
Задать его таким образом в настройках не получится. Придется сделать это программно следующим образом:
Была поставлена задача на предприятии, где ежедневно выписывается по 300-500 накладных организовать штрихкодирование документов, для более удобной работы с бумажным носителем в дальнейшем. И вот результат…
Конфигурация “Торговля и склад”. Хотелось сделать как можно проще и быстрее, и в тоже время надежно. На решение задачи ушло 1,5 часа. И так приступим….
У нас будет использоваться штрихкод EAN13. Создаем общий реквизит документов:
Общий реквизит документов "EAN13"
Тип – “Строка”, длина – 13, отбор по реквизиту
Добавляем в глобальный модуль процедуру
После этого в документы, которым будут присваиваться штрихкоды добавляем вызов
вышеописанного в процедуру "ПриЗаписи()"
В результате при первой записи документа ему будет присвоен штрихкод состоящий
из следующих блоков: 1. год документа (2 символа);
2. семь цифр справа от номера документа;
3. код вида документа (3 символа);
4. контрольный символ;
Осталось только вставить в печатную форму объект ActiveBarcode и настроить
необходимые свойства у него.
Эта тема тоже достаточна распространена. Нюанс программного изменения отбора заключается в том, что коллекция:
в отличие от аналогичной коллекции параметров, не имеет метода Найти(). Можно конечно изменять отбор «в лоб», т.е. по индексу, но это не есть хорошо. Самый оптимальный вариант, обходить все поля отбора в цикле.
Приведу пример универсальной функции для изменения отбор компоновки данных:
Несмотря на то, изучающие СКД встречаются с этим на первый или второй день, это должно быть в разделе FAQ. Простой пример программного вывода отчета на компоновке, использующий настройки по умолчанию.
Как сохранить Значения элементов при закрытии формы и восстановить их при открытии формы?
Это можно сделать через СохранитьЗначения(), ВосстановитьЗначение():
Но у этого способа, одно НО - Сохраненые значения будут доступны только на там компьютере, на котором их сохранили!
А чтобы эти значения были доступны с любого компьютера, их нужно хранить в базе, например в константах с типом Хранилище значения:
Перебирая все элементы формы, выбрать только поля ввода и записать их значения в структуру.
Потом структуры записываем в константу:
Варианты решения проблемы "Не открывается предварительный просмотр":
1. Нет принтера - нет предварительного просмотра. Попробуй переустановить принтеры.
2. Поставил под локальным админом дрова на принтер как у клиента и все заработало.
3. Если принтер сетевой, то сделайте его имя не больше 8-ми символов!
Для 7.7:
Открываем редактор реестра и находим следующую ветку:
HKEY_CURRENT_USER\Software\1C\1Cv\7.7\<здесь название базы>\V7\<имя пользователя>\Moxel\<ИмяОпцицПечатиУчетМПЗ> - последняя ветка отличается от вида документа. Так в этой ветки есть следующий параметр Default Printer - он должен быть меньше 15 символов.
Или вообще удалите раздел Moxel в реестре - там хранятся настройки для каждой печатной формы.
Проверь свойства принтера "качество печати", если стоит 600dpi попробуй поставить 300dpi.
Советуем вам посетить сайт https://casinopromo3.ru , если вы увлекаетесь азартными играми. На нем вы найдете свежи рабочие промокоды казино, для получения бездепозитных бонусов при регистрации.