Сохранение документа только в случае его редактирования
По теме из базы знаний
- Версионирование справочников, документов и регистров сведений на SQL-сервере
- Комплексный контроль остатков. Для одного или сразу нескольких логически связанных регистров накопления. Универсальное решение уровня данных для контроля не только складских остатков
- Загрузка чеков ФНС в документы 1С:БП, 1С:УНФ, 1С:ERP, 1С:КА и 1С:УТ
- Проверка документов
- Универсальный журнал документов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Смотрите процедуры перед открытием и при открытие.
Видимо прописан код для заполнения, но не проверяется на новый или какие то расчеты ведутся, которые потом не требуется сохранять.
P.S. У Вас видимо самописная или переделанная, в типовых такого нет.
Видимо прописан код для заполнения, но не проверяется на новый или какие то расчеты ведутся, которые потом не требуется сохранять.
P.S. У Вас видимо самописная или переделанная, в типовых такого нет.
(4) вот что есть в процедуре при открытии
Процедура ПриОткрытии()
//ОтветственныйИсполнитель = Справочники.Пользователи.НайтиПоНаименованию(ПользователиИнформационнойБазы.ТекущийПользователь().Имя);
//НачалоНумерации = 1;
//Записать(); ////Не делаю, потому что может открыть только для просмотра другой пользователь, а его запишет
//Если Не ЭтоНовый() Тогда
// Для каждого строч из Материалы Цикл
// строч.КоличествоАнализ =строч.РасходПоФакту;
// КонецЦикла;
//Иначе
// Для каждого строч из Материалы Цикл
// строч.КоличествоАнализ =0;
// КонецЦикла;
// ОтветственныйИсполнитель = Справочники.Пользователи.НайтиПоНаименованию(ПользователиИнформационнойБазы.ТекущийПользователь().Имя);
//КонецЕсли;
//
Если РольДоступна("ПолныеПрава") или РольДоступна("ПЭО") Тогда
ЭлементыФормы.Панель1.Страницы.Страница3.Видимость = Истина;
ЭлементыФормы.КоманднаяПанель3.Доступность = Истина;
Иначе
ЭлементыФормы.Панель1.Страницы.Страница3.Видимость = Ложь;
КонецЕсли;
Если РольДоступна("ПЭО") Тогда
//ЭлементыФормы.Панель1.Страницы.Страница1.Доступность = Ложь;
//ЭлементыФормы.Панель1.Страницы.Страница1.Доступность = Ложь;
ЭлементыФормы.Материалы.Доступность = Ложь;
ЭлементыФормы.ПереченьЗаказов.Доступность = Ложь;
ЭлементыФормы.Номер.Доступность = Ложь;
ЭлементыФормы.Дата.Доступность = Ложь;
ЭлементыФормы.НачалоНумерации.Доступность = Ложь;
ЭлементыФормы.Заказ.Доступность = Ложь;
ЭлементыФормы.ДатавВыгрузкиВБухгалтерию.Доступность = Ложь;
ЭлементыФормы.ОднимДокументом.Доступность = Ложь;
ЭлементыФормы.ДоговорСбытаСКоторогоСписываем.Доступность = Ложь;
ЭлементыФормы.ИсходныйДокумент.Доступность = Ложь;
ЭлементыФормы.СписокПокупных.Доступность = Ложь;
ЭлементыФормы.ЗаказКонструкторский.Доступность = Ложь;
ЭлементыФормы.Договор.Доступность = Ложь;
ЭлементыФормы.КоличествоЗаказов.Доступность = Ложь;
ЭлементыФормы.ДействияФормы.Кнопки.Формирование.Доступность = Ложь;
ЭлементыФормы.ДействияФормы.Кнопки.ПронумероватьАкты.Доступность = Ложь;
ЭлементыФормы.ДействияФормы.Кнопки.Действие6.Доступность = Ложь;
ЭлементыФормы.ДействияФормы.Кнопки.ПроставитьАртикул.Доступность = Ложь;
ЭлементыФормы.ДействияФормы.Кнопки.Действие.Доступность = Ложь;
КонецЕсли;
Если ДоговорСбытаСКоторогоСписываем.Пустая() Тогда
ЗаполнятьИзРезерва = Ложь;
ЭлементыФормы.ЗаполнятьИзРезерва.Доступность = Ложь;
КонецЕсли;
КонецПроцедуры
Показать
(8)
Так делать нежелательно, перенесите данный кусок кода перед записью. Тогда перед тем как записать документ, будет выставлен нужный флаг всегда.
Ну и соответственно при изменение реквизитов влияющих на договор, тоже прописать.
Сделать общую процедуру и вписать где надо.
Если ДоговорСбытаСКоторогоСписываем.Пустая() Тогда
ЗаполнятьИзРезерва = Ложь; //вот этот кусок кода взводит модифицированность объекта.
ЭлементыФормы.ЗаполнятьИзРезерва.Доступность = Ложь;
КонецЕсли;
Так делать нежелательно, перенесите данный кусок кода перед записью. Тогда перед тем как записать документ, будет выставлен нужный флаг всегда.
Ну и соответственно при изменение реквизитов влияющих на договор, тоже прописать.
Сделать общую процедуру и вписать где надо.
Так он и должен просто закрываться, если ничего не делали. Если выдается запрос на сохранение, значит скорее всего, при открытии данные модифицируются
Сделайте по умолчанию чтобы док открывался только в режиме просмотра.
а для редактирования - по спецкомбинации клавиш.
а для редактирования - по спецкомбинации клавиш.
Для начала Вам нужно понять, что именно определяет для программы то, что документ был изменен, хотя по факту никаких изменений не произошло. Один из вариантов - запустите отладку и поставьте точку останова на процедуру ПриОткрытии в модуле формы, откройте табло и пропишите в нем "Модифицированнось". Вначале табло должно показывать значение "ложь". Далее нажимайте клавишу F10 и внимательно следите, в какой момент модифицированность станет "истина". Когда найдете процедуру-виновника, можно будет уже не гадать и действовать решительно :)
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот