Как в 1с подписаться на изменение файла
Работа в программном комплексе 1С осуществляется как одним человеком, так и группой людей. Соответственно, существует необходимость проверки вносимых в документы изменений. Речь идет о том, чтобы посмотреть кто, когда и какие корректировки вносил в определенный объект данных. Даже если пользователь всего один, но при этом абсолютный новичок, он может совершать ошибки. И в данном случае также необходима возможность просмотра истории изменений. Как и где это можно сделать в 1С рассмотрим в статье.
- Механизмы отслеживания изменения данных в базах 1С
- Настройки хранения история изменений
- Просмотр истории изменения в документе
- Сравнение версий объекта данных
- Переход на предыдущую версию
- Как включить версионирование в различных решениях 1С
- Как узнать кто менял документ с помощью журнала регистрации
- Как узнать с какими объектами данных работал пользователь?
- Групповое изменение данных (ГИД)
- Просмотр ранее измененных реквизитов
1. Механизмы отслеживания изменения данных в базах 1С
В рассматриваемом программном продукте существуют 3 механизма, которые помогают отследить корректировки:
- журнал регистрации;
- платформенный механизм истории данных;
- версионирование
Для того чтобы каждый из этих механизмов правильно работал необходимо изначально провести настройки.
2. Настройки хранения история изменений
Стоит отметить, что настройку можно включить как для всего объекта данных, так и выборочно для каких-то его частей. Например, только для реквизитов. Тем самым экономится место объема сохраненных данных. Для того, чтобы сохраненные корректировки не занимали места больше, чем сами объекты, с которыми производилась эта работа, необходимо грамотно настраивать механизм версионирования. В противном случае произойдет замедление работы всей программы. Включить сам механизм может либо сотрудник предприятия, работающий в системе, либо разработчик в конфигураторе.
Для того чтобы настроить хранение истории изменений, следует перейти в левом меню в раздел «Администрирование», далее в раздел «Общие настройки» и затем «История изменений».
В ходе решения различных задач пользователей иногда возникает необходимость уже сформированные движения документов (а именно определенные наборы регистров) подвергать какой-либо корректировке.
Например, возникла задача – нужно в платежные документы записывать определенные данные (информацию о направлениях деятельности компании) после формирования основных движений документа (сформированных в событии «ОбработкаПроведения»). Задача будем реализовывать на конфигурации «Управление производственным предприятием» ред. 1.3.
Давайте рассмотрим решение более подробно:
Создадим новую подписку на событие «ЗаписьНаправленияВПлатежки». У подписки существует ряд свойств, которые будут определять ее поведение:
Источник – это объект (например, документ или список документов) для которого будет вызываться действия. Для нашего случая – выберем Платежное поручение исходящее и Платежное поручение входящее
События – само действия, после которого будет выполняться наш код. Согласно условиям задачи, выберем ОбработкаПроведения
Обработчик – указание на процедуру, в которой будет происходить обработка. Выберем для этих целей общий модуль ОбщегоНазначения.
После вышеозначенных целей создается процедура, в которой необходимо поместить код для заполнения данных о направлении (предположим, что такая информация в платежках уже содержится).
Рассмотрим ее параметры:
Источник – этот объект вида СправочникОбъект или ДокументОбъект, для которого происходит действие.
Отказ – параметр, позволяющий отменить проведение документа при определенных условиях.
РежимПроведения – варианты проведения (оперативное или неоперативное), позволяющее по-разному строить алгоритмы обработки.
Остановимся на параметре Источник. Для нашей задачи тип этого параметра будет – ДокументОбъект. Для этого типа доступна коллекция Движения, которая содержит все наборы записей регистров, для которых данный документ является регистратором.
В данной коллекции содержится набор записей РасчетыСКонтрагентамиНаборЗаписей , который нас интересует. Допустим, что в регистре создано измерение Направление, которое нам необходимо заполнять из документа.
Напишем следующий код:
Плюсы данного подхода: обработка данных вне типовых алгоритмов, уменьшение объема работ по поиску и переносу изменений при обновлении, большая наглядность – весь код в одной процедуре.
Минус такого подхода: увеличение времени проведения документов и записи элементов справочников.
Надеюсь, данная информация будет полезна как начинающим программистам, так и их более опытным коллегам в качестве расширения кругозора.
В 1С 8.3 (8.2) для работы с файлами существует два объекта: Файл и ДиалогВыбораФайла.
Рассмотрим каждый по отдельности.
Объект 1С — файл
Объект Файл служит для управления параметрами файлов.
Сразу стоит заметить, что данный объект не предназначен для чтения и записи из файлов.
Например, прочитаем параметры некоторого файла, находящегося на диске C:
В результате мы получим следующую информацию (если файл найден):
Параметры файла:
Полное имя файла: C:\Работа с файлами\статья.txt
Имя: статья.txt
Имя без расширения: статья
Расширение: .txt
Путь без имени: C:\Работа с файлами\
Размер: 899
Это файл: Да
Изменен: 18.05.2015 16:21:28
Только чтение: Нет
Невидимость: Нет
Запись в файл
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Теперь, когда мы выбрали и открыли файл, можно с ним работать, т.е. прочитать его содержимое или записать в него что-нибудь.
Рассмотрим пример:
Чтение файла в 1С
Часто бывает необходимо прочитать текст файла построчно, например, для анализа каждой строки. Для этого используем объект ЧтениеТекста.
Запись текста из 1С в файл
Заметим, что при записи текстового файла можно установить кодировку.
Копирование файла
Здесь все очень просто
Перемещение
Удаление
Диалог выбора файла
В указанных выше примерах есть одно неудобство. Путь к файлу прописан жестко в коде. Чтобы выбрать файл интерактивно, существует объект ДиалогВыбораФайла, о котором речь пойдет ниже.
Объект ДиалогВыбораФайла служит для открытия файла (файлов), сохранения файла или выбора каталога в диалоге специального вида.
Например, выберем и откроем некоторый файл с расширением txt:
Задаем режим диалога выбора. Доступны три варианта: ВыборКаталога, Открытие, Сохранение
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Большинство клиентов 1С используют типовые конфигурации, в которые, тем не менее, вносят изменения для комфортной работы и соответствия имеющимся бизнес-процессам. Администраторы знают – чем больше таких изменений внесено, тем сложнее и дольше производить обновления, которые выпускаются к тому же довольно часто. Поэтому разработчики в свою очередь стремятся к минимизации изменений типовой конфигурации. Для разрешения этой дилеммы был разработан механизм подписок на события в 1С 8.3. Подписки позволяют проделать нужные операции, не затрагивая стандартные процедуры и функции конфигурации 1С.
Создаем подписку в 1С
Тип источников напрямую влияет на предлагаемые системой события. Выбирая одно из них, помните, что сначала отрабатывают стандартные процедуры, а потом настает очередь подписок в конфигурации. После события приходит очередь определиться с тем, в каком общем модуле будет записана наша процедура. В свойстве «Обработчик» необходимо указать один из присутствующих в конфигурации модулей с установленным свойством «Серверный».
После выбора модуля и перехода в него, остается лишь описать действия процедуры, и на этом создание подписки в конфигурации будет закончено. Далее можно обновлять конфигурацию 1C и проверять результат работы описанной на встроенном языке процедуры. Разработчики с помощью подписок делают проверки перед записью или проведением документа для контроля заполнения нужных полей. Также удобно заполнять дополнительные регистры – документ или элемент справочника уже записан, и вы можете использовать достоверные данные.
Механизм расширений, который активно используют разработчики 1С версии 8.3.6 и выше, позволяет более тонко прописывать подписки, не затрагивая типовую конфигурацию. При обновлении добавленные разработчиком проверки могут мешать реструктуризации документов, поэтому необходимо отключить подписки. Легче отключить одно расширение, чем предусматривать возможность отключения всех подписок в конфигурации, которых может быть более сотни.
Подписки в расширениях
Расширение – это конфигурация 1С, которая «накладывается» на основную конфигурацию. Само по себе расширение не является функционирующей системой, но благодаря ему разработчики получают свободу действий. Основное преимущество заключается в том, что при обновлении расширение отключается, и обновляется типовая конфигурация. Именно поэтому разработчики стараются переносить свои подписки в расширение.
В расширении есть возможность дополнять модули документов и других объектов и их форм. Достаточно добавить их из основной конфигурации в расширение. Также разработчики могут выбирать, когда исполнять код из расширения относительно процедур из основной конфигурации:
- Запускайте конфигуратор;
- Открывайте меню «Конфигурация» – «Расширения конфигурации»;
- Добавляйте новое расширение конфигурации и называйте его в соответствии с его предназначением;
Рис.2 Добавляем расширение
Чтобы добавить в расширение подписки на события, нужно добавить в расширение документ. Находим его в основной конфигурации, жмем по правой кнопке и в контекстном меню выбираем команду «Добавить в расширение». После это находим нужный документ в расширении и через контекстное меню открываем его модуль объекта.
Рис.3 Добавить в расширение подписки на события
Рис.4 Создастся процедура, внутри которой вы сможете описать текст процедуры
Дорабатывайте конфигурации с минимальными изменениями и обновления не будут отнимать у вас много времени.
Все печатные формы в программах 1С Предприятие формируются в формате табличного документа, напоминающего Excel, из строк и столбцов, у каждого из которых есть свой уникальный номер, им можно присвоить имя, оформить их, выбрав цвет текста, фона, а также рамок, и пр. Рассмотрим принципы работы с табличным документом на примере «1С:Бухгалтерия».
Создание табличного документа в 1С
В программе 1С, кроме работы с имеющимися печатными формами документов или отчетов, можно сформировать табличный документ с нуля, для чего надо зайти вменю «Файл-Новый».
Рис.1 Создание табличного документа
В открывшемся окне выбираем характеристику и жмем «Ок».
Рис.2 Выбор вида документа
Открыть табличный документ уже имеющийся в базе можно также в «Файле», выбрав команду «Открыть».
Оформление ячейки табличного документа
Создавая таблицу, мы можем установить характеристики шрифта, оформить ячейки рамками различного вида, а также выбрать цвет из палитры для всех объектов. Для этого, выделив ячейки и нажав правой кнопкой мышки, надо открыть окно «Свойства», где можно задать параметры к выделенным ячейкам – цвет, шрифт, границы и т.п.
Рис.3 Свойства таблицы
Обработка табличной части также может быть сделана через меню «Файл-Таблица». Выбрав пункт «Форматирование», мы также можем настроить шрифт, выравнивание, границы.
Рис.4 Форматирование таблицы
Примечания и работа с ячейками
Заполнение табличного документа в 1С 8.3 предусматривает создание примечаний для ячейки или их группы. Они буду помечены треугольничком в правом верхнем углу, при наведении мышки на который будет всплывать окошечко с текстом, поясняющим данные ячеек. Чтобы их создать, надо вызвать нажатием правой кнопки мышки команду контекстного меню – «Вставить примечание» или через пункт меню «Файл-Таблица-Примечание».
Рис.5 Вставить примечание
Выглядеть это будет так:
Рис.6 Примечание
Мы можем выполнять с ячейками любые действия, как с обычными таблицами в Excel или таблицами в документах Word – вставлять и удалять строки, объединять ячейки, скрывать и пр. («Файл-Таблица-Ячейки»).
Рис.7 Работа с ячейками
Для удобства при работе с табличным документом можно пользоваться контекстным меню, нажав на ячейке или выделенному фрагменту правой кнопкой мышки. Например, выбрав команду «Раздвинуть», мы добавляем строки выше текущего положения. Здесь же мы можем объединить или разбить ячейки, удалить, очистить, настроить высоту строк, выбрав соответствующие команды.
Рис.8 Команда «Раздвинуть»
Группировка элементов
Формируя структуру нашей таблицы, мы можем сгруппировать строки или удалить группировку при необходимости («Файл-Таблица-Группы»).
Рис.9 Объединение в группы
Это дает возможность объединить информацию из отчетов, применяя некоторое число вложенных группировок.
Рис.10 Группировка элементов
Их можно сделать горизонтальными или вертикальными, регулируя при этом расположение итогов в группировке: для первых – сверху или снизу, для вторых, соответственно – справа или слева.
Рис.11 Виды группировок
Используя эти принципы, созданы все табличные формы в программе, например, отчет Оборотно-сальдовая ведомость по счету. С помощью редактора табличных документов в 1С можно создавать как небольшие табличные документы, так и документы, имеющие сложную структуру.
Рис.12 Группировка в Оборотно-сальдовой ведомости
Макет печатной формы документа
Табличные документы формируются на основе макета, который представляет собой шаблон для формирования печатной формы. В него можно добавлять рисунки, логотипы, диаграммы, сводные таблицы.
В каждом документе имеется макет его печатной формы. Открыв печатную форму, нажав кнопку «Еще» и выбрав команду «Изменить макет», мы самостоятельно можем внести в него коррективы, не прибегая к помощи программиста. Теперь такая возможность доступна в пользовательском режиме 1С.
Рис.13 Макет печатной формы документа
Макет печатной формы документа «Счет». Мы видим, что в одних ячейках содержится только текст, в других – имена параметров, которые необходимо будет задать при заполнении документа.
Рис.14 Макет печатной формы документа «Счет»
С помощью кнопки на панели инструментов и «Еще», выбрав нужный раздел, мы можем произвести изменение табличного документа 1С 8.3.
Рис.15 Изменение табличного документа
Ввод данных
В наш документ информацию можно внести руками, как в обычный Excel. Это могут быть текстовые или числовые данные, которые могут использоваться при исчислении в других ячейках, например, при заполнении некоторых форм отчетности.
Рис.16 Ввод данных
Сохранение
Сформировав документ, его можно сохранить в файл на диске для отправки по электронной почте, переноса на другой компьютер или флешку и т.д. Для этого выберем команду «Сохранить» в пункте меню «Файл».
Рис.17 Сохранение
При сохранении табличного документа можно выбрать различные форматы, как в собственном формате – 1С-mxl, так и экспортировать в другие форматы – лист Excel, документ PDF или формат mxl-табличный документ v7.7 (для совместимости с версией платформы 7.7) и другие форматы.
Рис.18 Выбор формата сохранения
В некоторых печатных формах документа имеется кнопка «Сохранить».
Рис.19 Сохранение из формы документа
Читайте также: