Не сохраняются изменения 1с
Что конкретно удалил либо поменял пользователь в конкретном документе в 1С? Для решения этого вопроса разработчики внедрили специальный механизм хранения версий объектов — так называемое версионирование, с помощью которого вы как раз можете увидеть всю конкретику измененных документов.
В этой статье мы расскажем обо всех плюсах и минусах версионирования, а также покажем на конкретном примере в 1С: Зарплата и управление персоналом ред. 3.1, как работает механизм.
Начиная с платформы 8.3.11, механизм версионирования встроен в систему и называется «История данных». Он имеется во всех конфигурациях, работающих на основе библиотеки стандартных подсистем (БСП). Например, в 1С: Бухгалтерия предприятия он реализован, начиная с версии 3.0.35.
Использование этого механизма актуально как на этапах начала работы с программой, так и при дальнейшем ее использовании, когда имеются пользователи «новички», которые могут что-то «подпортить» в учете.
Версионирование — это механизм хранения истории изменения объектов в 1С, который позволяет:
- просматривать, какие изменения внес пользователь в объект (справочник, документ);
- анализировать версии объектов;
- сравнивать эти версии между собой;
- восстанавливать любую из версий объекта.
Механизм версионирования позволяет пользователю выполнять гибкую настройку хранения данных, выборочно применять к объектам или табличным частям, сохранять данные лишь в определенный пользователем момент, например — при проведении документов.
Плюсов у этого функционала, конечно много.
Но есть и минусы, их тоже нужно учитывать. Важно грамотно подходить к настройке версионирования, т.к. использование данного функционала однозначно приводит к замедлению работы 1С. Это связано с тем, что история данных занимает какое-то место и при неправильной, беспорядочной настройке она может занимать больше места, нежели чем сам объект.
Центр обучения «Клерка» приглашает разобрать не менее важный аспект бухгалтерского учета — ведение учета запасов по новому ФСБУ 5/2019. Бесплатный вебинар уже совсем скоро — 20 августа.
Как включить версионирование в 1С?
Этот механизм может включить как разработчик в конфигураторе, так и сам пользователь в пользовательском режиме.
Для включения версионирования объектов выполните следующие пункты.
Шаг 1. Перейдите в раздел «Администрирование» — «Общие настройки».
Пример раздела в 1С: Зарплата и управление персоналом, ред. 3.1:
Пример раздела в 1С: Бухгалтерия предприятия ред. 3.0.
Шаг 2. Разверните подраздел «История изменений» и установите галочку «Хранить историю изменений». Для перехода к настройкам нажмите гиперссылку «Настроить».
Как видите, в 1С: ЗУП и 1С: Бухгалтерии предприятия эти пункты выглядят совершенно одинаково.
Соответственно, и настройка версионирования во всех конфигурациях 1С выполняется аналогично, т.к. это одна подсистема.
Настройки истории хранения изменений
Рассмотрим основные настройки подсистемы «Версионирование» и механизма «Хранение данных» на примере программы 1С: Зарплата и управление персоналом ред. 3.1.
В составе объектов настройки два пункта: справочники и документы.
Настройку можно выполнить для каждого справочника отдельно, задав срок хранения и указав, когда сохранять версии.
В разделе «Документы» перечислены все имеющиеся в конфигурации документы, для которых также отдельно выполняется настройка хранения данных.
Параметр «Когда сохранять версии»
Для изменения параметра выделите ячейку и нажмите стрелочку. В выпадающем списке выберите нужное значение.
Значение параметра «Когда сохранять версии» может принимать значение:
- «При записи» — версия сохраняется при создании или изменении справочника либо документа;
- «При проведении» — применима для документов, для которых предусмотрено проведение. Запись производится при их проведении;
- «Никогда» — запись истории изменения объекта не ведется.
Применить настройки можно и к группе объектов.
Выберите несколько объектов с помощью кнопки Shift (в указанном диапазоне «с какого по какой») или Ctrl (выборочное выделение) и, нажав кнопку «Установить когда сохранять версии», выберите нужное значение для указанных объектов.
В этом пункте, кроме описанных выше вариантов, доступна настройка «По умолчанию». В данном случае устанавливаются рекомендуемые настройки. Для справочников это — «Никогда», для документов — «При проведении».
Для справочников варианты значений параметров отличаются от значений параметров для документов.
Параметр «Срок хранения версий»
Аналогично задается параметр «Срок хранения версий».
Выделите ячейку и выберите вариант срока хранения заданного элемента.
Он может принимать значение:
- «За последнюю неделю»;
- «За последний месяц»;
- За последние три месяца«;
- «За последний год»;
- «Бессрочно».
Для выбранной группы объектов изменить этот параметр также можно с помощью кнопки «Установить срок хранения версий».
Выделите объекты, нажмите вышеуказанную кнопку и выберите нужное значение.
Рассмотрим настройку на примере.
Пример настройки версионирования в 1С: ЗУП ред. 3.1
Установите настройки хранения истории изменений для документа «Начисление зарплаты и взносов». Значение параметра «Когда сохранять версии» — При проведении«, «Срок хранения» — «За последнюю неделю» (для примера).
После того, как активировано версионирование, в объектах 1С станут доступны кнопки в виде карандаша с часиками — «Перейти к истории изменений».
В нашем примере она расположена в журнале документов на панели инструментов, а также по нажатию кнопки «Еще».
Во втором варианте она выглядит как строка — «История изменений».
При открытии документа, в нем также присутствует такая кнопка и команда по нажатию кнопки «Еще».
Рассмотрим пример, когда бухгалтер вносила изменения в документ «Начисление зарплаты и взносов».
Для иллюстрации примера изменим заработную плату Булочкиной О.И. с 67000 руб. на 75000 руб. и посмотрим, как программа сохранит версии документов и сможем ли мы, используя механизм хранения данных, вернуться к прежней версии.
Нажмите «кнопку-карандашик» — «Перейти к истории изменений».
Становится видно информацию о версиях документа «Начисление зарплаты и взносов»: кто изменил данный объект, а также дату и время изменения.
Для просмотра версии выделите строку и нажмите кнопку «Открыть версию».
В отчете представлены вся информация, показатели и данные документа выделенной версии. Кнопками " " и «-» можно свернуть и развернуть блоки для удобства чтения.
В нашем примере мы знаем, что пользователь изменил зарплату по окладу Булочкиной О.И. на 75000 руб.
Но как же пользователь проанализирует такой объем информации и определит, какие изменения произведены в какой версии?
Для этого есть функция сравнения с помощью одноименной кнопки «Сравнить».
Для сравнения версий выделите нужные строки (с помощью Shift или Ctrl) и нажмите кнопку «Сравнить».
Обратите внимание, при выделении нескольких версий другие команды неактивны, т.к. предназначены для работы с одной строкой-версией.
В отчете отобразится таблица по выделенным версиям объекта. Голубым цветом выделены измененные данные, пролистав и проанализировав которые, пользователь может сопоставить произведенные изменения и при необходимости вернуться к той версии, которая его более устроит
Пролистав таблицу, мы видим, что пользователем Кругловой О. были изменены данные по Булочкиной О.И. Сохраненные версии № 1 и № 2 идентичные, а в версии № 3 прослеживаются изменения.
Обратите внимание на значение поля «Изменения в реквизитах». По умолчанию установлено — «Все». Поэтому отчет получился объемным. Нажав кнопку выбора с тремя точками, пользователь может задать выводимые реквизиты, отметив нужные галочками.
Главный бухгалтер, проанализировав ситуацию, приняла решение восстановить данные документа «Начисления зарплаты и взносов» до внесения изменений зарплаты.
Как это сделать?
Выделите версию объекта, на который хотите перейти и нажмите кнопку «Перейти на версию».
В моделируемом примере нас устроит версия № 2 (до внесения изменений). На нее и перейдем.
В результате проведенных манипуляций в таблице «История изменений: Начисление зарплаты и взносов от 31.08.2021» появилась четвертая версия документа с пометкой — «Выполнен переход к версии № 2 от 10.08.2021 18:32:49» (пример моделировался 10.08.2021).
Откройте документ и проверьте, что в нем изменилось.
Документ перешел к варианту до внесения в него изменений. В нашем примере зарплата сотрудника Булочкиной О.И. автоматически изменилась на 67000 руб. (напомним, она была изменена ранее на 75000 руб.). Начисление НДФЛ и страховых взносов также приняло прежние значения. Т.е. документ полностью принял первоначальный вид.
Этот способ очень удобен. Он позволяет не только отслеживать, когда и кем были произведены изменения, но и «откатывать» состояние объекта в предшествующее состояние. Перейдя на версию объекта и не получив результата, пользователь может повторить операцию снова. Переходы от версии к версии не ограничены и их можно выполнять в пределах хранящихся версий.
Напоминаем, единственный минус версионирования — это то, что хранящиеся данные занимают место и при больших объемах накопленной информации программа может начать притормаживать и подвисать, особенно при работе на слабых компьютерах. Поэтому возможно имеет смысл устанавливать версионирование только для конкретных документов в программе, по которым могут быть спорные моменты.
Объем хранимых версий объектов и их удаление в 1С
Вернемся к разделу «Настройка и хранение истории изменений».
Нажмите гиперссылку «Количество и объем хранения версий объектов».
В отчете представлена информация в графическом и в табличном варианте, где пользователь видит структуру данных версий хранения объектов.
В нашем примере видно, что объект — документ «Начисление зарплаты и взносов» имеет четыре версии и этот объем данных занимает 0,01Мб.
Но это всего лишь один документ. Поэтому, если вы настраиваете версионирование и активно им пользуетесь, смотрите какой объем занимают данные.
Обратите внимание на строку «Очистка устаревших версий». У нас пока таковых не имеется, но при их появлении появится кнопка «Очистить». Здесь также выводится информация об их количестве и объеме. Нажав на эту кнопку старые, неактуальные версии удаляются.
Для автоматизации процесса удаления устаревших версий, установите одноименную галочку «Автоматически удалять устаревшие версии» и вам не придется постоянно отвлекаться на контроль этого процесса.
Теперь вы знаете что такое версионирование и как настроить хранение истории изменения справочников и документов в программах 1С.
Как говорится: «Все гениальное — просто!». Экспериментируйте, используйте этот функционал программы и, главное, не бойтесь что-то испортить, ведь всегда можно вернуть версию объекта. Если вы сочтете это ненужным, то в любой момент вы сможете отключить эту настройку.
Если я внесу изменения в типовую конфигурацию(добавлен еще один реквизит в документ платежное поручение и сделан отчет), то при следующем обновлении, все эти изменения удалятся. Недавно снова столкнулся с данной проблемой, начисто забыл способ решения. Можно просто после обновления внести изменения, но есть вроде бы какой-то более эффективный способ.
Реквизит совершенно левый, надо просто показать какие платежи были проведены по счетам с подписью директора, а какие согласованы по телефону, либо просто технические платежи.
А обновляю путем объедения конфигураций. Просто если изменений будет много, боюсь зависну с обновлениями каждого объекта.
может проще директор сам будет проводить платежи в банк-клиенте ?
zak555 - тролль.
Toall: Пожаловаться модеру можно, или самому опускать придется?
При вводе платежного поручения, бухгалтером делается отметка, на основании чего был отправлен платеж, в любом случае надо изменять форму создания платежного поручения, потому что никто ничего в конце недели помнить не будет.
Про выгрузки и директора - хорошо. Еще хороший совет - научить директора самому смотреть по платежным поручениям, подписывал он счет или нет.
(10) смысл контроля этого ?
он нужен для директора ?
тогда бух может наипать директора с этим контролем и всё
у каждого документа есть реквизит "комментарий" и будет, полагаю, всегда. Пиши туда кодовое слово/букву, потом шерсти, сколько влезет, своим отчетом. как всегда прыжки в ширину от неумения пользоваться типовыми..
насчет тролля - мал еще решать еще - палочка не выросла
Если ты внесешь изменения в типовую конфигурацию, то она уже не будет типовой.
Читай "обновление не типовых конфигураций"
Понятно. Я тебе сочувствую.
zak555 - типичная ошибка типичного ламера. Тебя не просят помочь налаживать бухгалтерский учет, тебя просят ответить на чисто технический вопрос. А вот как уж выстраивать отношения программист-директор-бухгалтер, это тема для отдельного топика.
//у каждого документа есть реквизит "комментарий" и будет, полагаю, всегда.
Думал над этим.
Формировать запись придется все равно специфическую, потому что поле комментарий иногда заполняется для технических нужд. В таком случае придется, при выведении отчета, проверять поле комментарий на наличие фрагмента подпись есть. Поэтому надо изменить форму самого документа. При обновлении одна созданная кнопочка на форме просто уйдет. В одной форме вручную изменить быстро. Если еще изменения вносить в другие формы, то большое количество задолбаешься отслеживать.
//Если ты внесешь изменения в типовую конфигурацию, то она уже не будет типовой.
О. То есть добавление ОДНОЙ конопки на форме делает конфигурацию НЕтиповой. Отлично.
Неужто никто не придумал внешнюю утилиту, для фиксирования самостоятельных изменений? Вроде есть приблуды для внешнего редактирования файла метаданных.
(18) "Неужто никто не придумал внешнюю утилиту, для фиксирования самостоятельных изменений" - есть. Назывется "программист". Стоит некоторых денег.
Есть файловая база, наполовину самописная. Обычные формы.
Есть такая ситуация. Вношу изменения в модуль формы. Обновляю динамически, проверяю - успех. И так раза 3. Но примерно на 4 попытке, когда вношу изменения в этот же модуль и обновляю динамически, то после перезапуска конфигуратора изменений этих уже нет. Если повторно их внесу и опять обновлюсь динамически - их всё равно нет. Помогает только завершение работы всех пользователей и обновление базы монопольно.
Ситуация повторяется стабильно. Изменения вношу только в текст модуля общей формы. Заметил эту закономерность, и напрашивается вывод, что обновить динамически можно не более 3х раз. Почему так происходит?
Потому что у 1С кончается терпение: и двух раз динамического издевательства обновления - выше крыши! :-)
Динамическое обновление файловой базы
мистер ходит по лезвию ножа
забудьте это делать или иметь такую практику
или ждем вас на фриланс - раздел восстановление базы
да ничего, делайте дальше.
создайте опрос на форуме и узнайте, сколько человек делает такое
тогда будете утверждать
много где так делают и ничего
ну как ?
- я в опросе поставлю голос
- не делаю динамическое обновление
(6) вы же утверждаете что это плохо. я и спросил, что в этом плохого? конкретно, из жизненного опыта. а так вы куда то на форумы посылаете, ответ в общем ниочём
в последней ссылке найдите "динамическое"
и если у вас было "родился в рубашке" , то иногда она может порваться :)
(8) Я не сомневаюсь, что вы умеете пользоваться поиском, но я все же хотел узнать что же лично случалось конкретно у вас. то, что по этим ссылкам я когда то читал, но конкретики мало.
Из конкретики: то что обновление будет работать по другому с записью в БД и т.п. - ну это ж простые истины! просто к любому делу нужно подходить с головой - думать надо, что делаешь! а если мне просто нужно добавить поле на форму, вывести предупреждение, еще какие то чисто интерфейсные данные - то почему бы и нет!
А то по вашему - если у программы случалась когда то там ошибка, то ну ее нафиг программу такую.
(9) Поле на форму и предупреждения могут подождать до следующего дня. Это не критические обновления, не стоит это того, чтобы дергать динамическое обновление.
На клиент-сервере при динамическом обновлении на клиентских часто рассыпается кэш, приходится чистить. На файловой я сталкивался с тем, что рассыпалась сама база, без возможности дальнейшей работы.
Ну это я образно выразился, изменения формы, не влияющие на запись данных. Подождать или нет - решает начальство как правило. Бэкапы делаются, динамическое обновление применяется, никогда проблем не возникало. По проблеме наслышан, но никогда ее не выхватывал.
А на файловой вот зачем динамически обновлять - я понять вообще не могу. Нескольких пользователей всегда можно попросить выйти, или обновить когда в БД уже никого нет. А вот когда пользователей больше сотни, и завод работает круглосуточно. динамическое себя оправдывает
(9)
т.е , если делать бекап 10 лет и он ни разу не понадобился
напрашивается вывод - он не нужен
вы же :
А на файловой вот зачем динамически обновлять - я понять вообще не могу.
в топике
Динамическое обновление файловой базы. Изменения не сохраняются.
сравниваете
А вот когда пользователей больше сотни, и завод работает круглосуточно. динамическое себя оправдывает
явно не с файловой
и если у вас не было проблем, а у других были
и у меня есть выбор - динамическое обновление не делаю никогда.
у вас на заводе конфигурация какая и как часто вы ее обновляли ?
__________
Есть файловая база, наполовину самописная. Обычные формы.
можете гарантировать в таком случае:
кто, как, когда и в как качественно ее написал ?
а еще и динамически обновлять, пусть даже клиент-сервер
Иногда нужно разово менять печатную форму документа, и после закрытия этой формы внесенные изменения не сохраняются.
Но что же делать, если требуется повторно распечатать измененный документ, когда он уже закрыт, а все изменения утеряны?
Ответ на этот вопрос вы получите в нашей новой публикации.
Иногда бывают такие ситуации, когда необходимо разово менять печатную форму документа, и после закрытия этой формы внесенные изменения не сохраняются. Но что же делать, если требуется повторно распечатать измененный документ, когда он уже закрыт, а все изменения утеряны?
Вот как сохранить измененную печатную форму
К примеру, необходимо внести изменения в печатную форму Акта об оказании услуг.
Продажи > Реализация (акты, накладные).
В открывшемся окне нужно проследить, чтобы была нажата решетка. Ее нажатие позволяет редактировать печатную форму документа.
А теперь представим ситуацию, что нужно отредактировать открывшуюся форму и дописать в поле «Основание» необходимые данные.
После того, как измененная форма документа будет закрыта, все внесенные исправления будут утеряны, и повторно напечатать измененный документ или продолжить его редактирование невозможно.
Но существует решение этой проблемы можно сохранить измененную печатную форму документа! Это не составляет большого труда: в открытой печатной форме требуется зайти во вкладку «Еще» и выбрать строку «Сохранить».
После нажатия на строку «Сохранить» в появившемся окне можно выбрать формат, в котором сохранится печатная форма.
Стоит обратить внимание на то, что сохранить печатную форму можно как в выбранную папку на компьютере, так и прикрепить к документу.
Рекомендуется сохранять путем присоединения к документу, ведь на компьютере файл может затеряться, а в программе он будет храниться в определенном месте, к которому у пользователя всегда есть доступ. Просмотреть сохраненный файл в программе можно путем нажатия на скрепку (см. изображение ниже):
В открывшемся окне можно посмотреть все файлы, которые прикреплены к данному документу.
Таким же образом к документам можно прикреплять любые другие файлы, такие как:
- сканированные копии первичных документов, договоров
- спецификации, дополнительные соглашения
- образцы рекламной продукции (для подтверждения по налогу на прибыль).
Мы серьёзно улучшили работу с настройками списков. Теперь настройки выглядят проще, пользоваться ими удобнее и, самое главное, теперь настройки списков сохраняются. То есть при повторном открытии список будет выглядеть так же, как его настроил пользователь.
Настройку списков мы сделали максимально похожей на настройку отчётов. Мы надеемся, что такая «унификация» облегчит пользователям работу со списками.
Условия, по которым выполнен отбор списка, дополнительно автоматически отображаются отдельными строками в нижней части настроек. На картинке это «Бизнес-регион» и «Основной менеджер». Это позволяет быстро включать и выключать отдельные элементы отбора.
Эти же настройки автоматически будут включены в основную форму списка, если разработчик разрешил такую возможность.
При желании пользователь может самостоятельно указать, какие настройки он хочет видеть в форме списка (какие он использует чаще всего), чтобы не «ходить» за ними в дополнительное меню «Ещё»:
Как мы сказали в начале, все настройки списков (отборы, сортировка, группировка и условное оформление) теперь сохраняются автоматически. Таким образом, если пользователь однажды настроил список, то в следующий раз он увидит его с теми же настройками, которые были до закрытия.
Но кроме этого настройки теперь можно сохранить и вручную, задав для них какое-нибудь понятное имя. В результате для одного и того же списка пользователь может хранить несколько вариантов его настройки.
Такая возможность будет весьма полезной для сложных списков, в которых используются различные варианты условного оформления.
Что касается «программной начинки» новых возможностей, то она очень похожа на то, как реализованы настройки у отчётов. А способность сохранения настроек у списков регулируется специальным новым свойством реквизита формы:
Стандартно все списки сохраняют настройки автоматически, но при необходимости это можно отключить.
Для элементов управляемых форм 1С есть возможность изменять видимость и некоторые другие свойства. Для этих целей в управляемой форме в меню Все действия служит пункт Изменить форму .
После нажатия данной команды появится окно «Настройка формы».
В появившемся окне с помощью галочек можно изменять видимость некоторых реквизитов. При этом форма автоматически масштабируется. Можно изменять порядок реквизитов, добавлять новую группу и помещать в нее некоторые реквизиты (элементы), определяя вариант их группировки (горизонтальная, вертикальная).
Реквизиты, входящие в состав группы,размещаются соответствующим образом. Кроме того, для элементов можно настраивать такие свойства как ширина, высота, данные по заголовку. Можно определять реквизит, который будет активизироваться при открытии формы.
Важным свойством является возможность добавления в форму новых полей. Это становится возможным через реквизиты ссылочного типа. Например, имея в форме реквизит ссылочного типа Контрагент , можно добавить Контактное лицо , если данный реквизит присутствует в справочнике «Контрагенты».
При необходимости дополнительные поля можно удалить. Поля, созданные в конфигураторе, удалить нельзя. Все сделанные пользователем настройки сохраняются. Для возврата к стандартным настройкам в окне «Настройка формы» в меню Все действия следует выбрать пункт Установить стандартные настройки .
Помимо настройки форм в управляемом интерфейсе 1С предприятие можно так же настроить и списки (элементов справочников, документов). В меню Все действия есть специальная команда.Она называется Настроить список .
Когда мы выбираем эту команду, открывется окно «Настройка списка». В этом окне можно производить отбор, сортировку, определять условное оформление и группировку.
На рисунке мы можем увидеть форму позволяющую редактировать отбор.
Можно производить отбор по нескольким полям. В таком случае по умолчанию отбор будет работать по условию И. Можно также использовать условия ИЛИ и НЕ. Для использования условия ИЛИ (НЕ) необходимо с помощью команды Сгруппировать условия добавить соответствующую группу ( Группу ИЛИ , Группу НЕ ). На рисунке показана форма для определения полей сортировки.
В 1С предприятие возможна настройка группировки. На рисунке в качестве поля для группировки выбран Контрагент .
На очередном рисунке представлено, как будет выполняться группировка.
Так же можно произвольным образом раскрасить список или применить другие элементы условного оформления (выделение шрифтами, определенное форматирование) по заданному условию, а также выделить список оформляемых полей.
На рисунке показан результат условного оформления фоном поля Сумма . Когда сумма > 100 000.
1. Реквизиту не присваивается значение.
Проверить тип реквизита и тип значения, которое хотим присвоить.
2. Форма открывается с признаком изменения (со звездочкой *).
В процедуре перед открытием формы устанавливается значение реквизита объекта, содержащегося в форме – проверить необходимость этого. В обычных формах значит, что используется переменная, имя которой совпадает с именем реквизита объекта формы, имя переменной нужно изменить.
3. В конфигураторе в таблицу на форме была добавлена колонка, а в пользовательском режиме колонка не появилась.
Нужно очистить сохраненные настройки формы у пользователя: Администрирование – Настройки пользователей и прав – Персональные настройки пользователей – Настройки пользователей.
4. В форме списка объекта конфигурации используется Динамический список с установленным свойством Произвольный запрос, но на форме не появляются кнопки Добавить, Изменить, Редактировать и т.д.
В свойстве динамического списка Настройка списка не указана Основная таблица
Рис. 1. Настройка динамического списка
5. Не сохраняются данные после заполнения таблицы в форме.
Если заполнение происходит по команде (по кнопке), то у команды заполнения нужно проверить свойство Изменяет сохраняемые данные — должно быть установлено. Если свойство не установлено, то после заполнения таблицы у формы не появляется признак изменения (звездочка *) и при закрытии форма закрывается без сохранения данных.
6. При попытке открыть список документов/справочника через Все функции не появляется таблица со списком документов/элементов справочника и по кнопке Создать ничего не происходит (рис. 2).
Читайте также: