Автосохранение документа в 1С 7.7

22.03.13

Задачи пользователя - Адаптация типовых решений

В данной статье мы рассмотрим автосохранение документа в 1С 7.7!

Доброго всем времени суток. Иногда (может и частенько) возникает потребность в автосохранении документа. Бывают ситуации, когда набили кучу инфы в документ и бац... вырубили электричество, а у вас нет ИБП (источник бесперебойного питания). И вот начинается ВЕЛИКИЙ и МОГУЧИЙ РУССКИЙ ЯЗЫК! Возможны конечно другие, прочие потребности в автосохранении, но это уже у каждого свое. Итак,... приступим.

Мне была поставлена задача написать автосохранение документа на 1С 7.7 (Сельхозка). Имеется документ: Продажа товаров в розницу, его мы и будем автосохранять. (принцип одинаков, практически для всех конфиг на 7.7, возможны некоторые отличия, но не значительные).

Все выполняется в форме документа. Код изменненного документа:


//Общая переменная

Перем НадоЗаписать;


//Изменения в предопределенную процедуру, для сохранения

Процедура ПриЗакрытии()

Если НадоЗаписать=1 Тогда

Записать();

СтатусВозврата(0);

ОчиститьОкноСообщений();

Сообщить("Документ Автосохранен "+ТекущееВремя());

Возврат;

ИначеЕсли НадоЗаписать=0 Тогда

ОчиститьОкноСообщений();

глОткрытьЖурнал(Контекст, Новый);

КонецЕсли;

КонецПроцедуры // ПриЗакрытии()


 // Для корректного закрытия документа

Процедура ЗакрытьДокумент()

НадоЗаписать=0;

Форма.Закрыть(1);

КонецПроцедуры

  

//Процедура проверки на модификацию

Процедура АвтоЗапись()

Если (Модифицированность()=1) Тогда

НадоЗаписать=1;

Форма.Закрыть(0);

Иначе НадоЗаписать=0;

КонецЕсли;

КонецПроцедуры


//Вызов процедуры, через определнный интервал времени

Форма.ОбработкаОжидания("АвтоЗапись",180); //время в секундах 180 секунд

 

Повторюсь, в других конфигурациях аналогичные действия, может за исключением нескольких ньюансов, если таковые имеются!

 


См. также

Печатные формы Адаптация типовых решений Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Приятное улучшение обработки "Внешние печатные формы" для типовых конфигураций на базе 1С 7.7 для более комфортной работы с "любимой семерочкой".

1 стартмани

04.02.2022    3315    1    igor7777    0    

3

Адаптация типовых решений Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Бухгалтерский учет ФОМС, ЕФС Бесплатно (free)

В этой статье описано, какие небольшие изменения можно внести в модуль документа Начисление налогов с ФОТ, чтобы правильно рассчитывались страховые взносы с 1 апреля 2020 г.

09.04.2020    20498    Юджин58    39    

5

Адаптация типовых решений Программист Платформа 1С v7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Управленческий учет Бесплатно (free)

Описан способ работы с учетом расписания с приоритетными покупателями - торговыми сетями (основными покупателями) в торговой или комплексной учетной системе на 1С 7.7. Множественная заявка покупателя на несколько торговых точек.

14.10.2019    6264    ksnik    14    

3

Операции по ВЭД Адаптация типовых решений Программист Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Бухгалтерский учет НДС Бесплатно (free)

В данной статье хотел поделиться опытом, как в Торговле 7.7 ( релиз 994) сделать возможность выводить код ТНВЭД в печатную форму счета-фактуры. Сразу скажу, что нужно это только тем, кто осуществляет экспорт в страны таможенного союза. Остальные могут не волноваться.

15.11.2017    11995    AndKovalchuk    0    

1

Зарплата Адаптация типовых решений Программист Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Россия Бухгалтерский учет Абонемент ($m)

Реализация Постановления Правительства РФ 1316 от 04.12.14 для типовой конфигурации "Бухгалтерский учет 7.7" рел. 7.70.590

1 стартмани

31.12.2014    24025    9    Sergey1CSpb    2    

0
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. andrewks 1374 22.03.13 10:19 Сейчас в теме
для чего запись реализована в ПриЗакрытии()?
3. gubar 285 22.03.13 16:13 Сейчас в теме
(1) andrewks, Процедура ПриЗакрытии - это предопределенная процедура закрывающая документ. Т.к. мы не можем использовать метод Записать() в 1С 7.7 в любом месте кода, как в 1С 8, приходится извращаться. А использовать метод Записать() в процедуре ПриЗакрытии() срабатывает несколько не удобно, скорее не так как хотелось бы.
5. andrewks 1374 22.03.13 17:06 Сейчас в теме
(3)
Т.к. мы не можем использовать метод Записать() в 1С 7.7 в любом месте кода


это кто такое сказал? расшифруйте, может, я чего-то не так понял
2. kompas-dm 781 22.03.13 10:46 Сейчас в теме
(0)Мой компьютер- свойства - диспетчер устройств - дисковые устройства - нужный диск -
свойства - политика - разрешить кеширование " снять ".
4. Степанова Н. 22.03.13 17:03 Сейчас в теме
А мы перешли на 8-ку и забыли про 7-ку
6. Иваныч 23 22.03.13 17:47 Сейчас в теме
Решение правильное. Сам попадал в подобных ситуациях. Спасибо
7. gubar 285 22.03.13 20:46 Сейчас в теме
andrewks, попробуйте выполнить метод Записать() в форме документа в любом месте или своей процедуре в модуле формы. у меня не получилось.
9. andrewks 1374 22.03.13 22:48 Сейчас в теме
(7) не только пробую, но и пользуюсь в своих конфах уже несколько лет. а вот в коде, вызываемом из ОбработкаОжидания() - действительно болт, поэтому выход - через ложное закрытие
8. gubar 285 22.03.13 20:50 Сейчас в теме
Иваныч, пользуйтесь. спасибо.
10. gubar 285 23.03.13 06:39 Сейчас в теме
andrewks, приведите пример своего кода пожалуйста, где используете в модуле формы метод Записать(). интересно как вы реализовали!
11. andrewks 1374 23.03.13 07:59 Сейчас в теме
(10) да чего приводить, создайте кнопку, и в её обработчике сразу напишите Записать(); - всё работает. а вот если этот же обработчик назначить в ОбработкаОжидания() - будет выдавать ошибку
12. gubar 285 23.03.13 12:24 Сейчас в теме
По кнопке то понятно, тут имеется ввиду запись через определенное время.
13. gubar 285 23.03.13 12:26 Сейчас в теме
Если бы можно было бы сделать так ОбработкаОжидания(Записать(),180) - это другое дело
14. pan76 23.03.13 17:34 Сейчас в теме
(13) А если форма документа открыта модально или человек ушел курить при открытом окне вопроса,предупреждения и т.п.? Штатная ОбработкаОжидания тогда не сработает. Лучше, мне кажется, вызывать метод Записать() в процедуре
ПриОкончанииРедактированияСтроки(), причем можно не в каждой строке, а через установленное количество.
15. gubar 285 23.03.13 20:19 Сейчас в теме
1. это не критично.
2. можно много чего нагородить
3. у каждого условия и требования определенные.
16. Dimasik2007 430 24.03.13 18:43 Сейчас в теме
Делал подобное, правда в обработке загрузки данных с банк-клиента, не в документе. Причем сериализовал данные в XML, и его сохранял локально у пользователя, не дергая каждый раз сервер на запись. При сбое питания/сервера/etc пользователь открывает заново обработку и ему систем подсказывает, что есть бэкап данных.
17. gubar 285 25.03.13 07:35 Сейчас в теме
18. piloturs 9 02.04.13 05:01 Сейчас в теме
(0)
вырубили электричество, а у вас нет ИБП


м-да... это садо-мазо

Возможны конечно другие, прочие потребности в автосохранении


интересно, какие еще потребности , кроме приведенного Вами садо-мазо, возможны?
19. gubar 285 02.04.13 06:41 Сейчас в теме
Специально для Вас, ЛЕНЬ к примеру.
20. gubar 285 02.04.13 06:42 Сейчас в теме
Если не интересна тема или что-то не устраивает. Лучше не пишите ерунды!)
21. mt111 3 30.07.14 13:53 Сейчас в теме
автор молодец, иногда нужно сохранить изменения в конфигурации, а бухгалтер оставил наполовину заполненый приходник и ушел на обед. ты его кышнул а потом выслушиваешь, но это все в прошлом)
22. Ёпрст 1065 30.07.14 13:01 Сейчас в теме
Метод скорее вредный, чем полезный.
Если и сохранять - то отдельно куда угодно - в файло, в стороннюю базу и т.д. Но только не записать() в обработке ожидания.

Открыли документ, что-то изминили, сохранять не собирались при этом, а тут такой п...ц с этим "автосохранением"
23. Ёпрст 1065 30.07.14 13:02 Сейчас в теме
+ при использовании ложного закрытия, сбивается фокус с ТЧ дока.. + если набивали текст, он тоже в проё..бе будет, ну и т.д.
24. Ёпрст 1065 30.07.14 13:03 Сейчас в теме
тьфу мля, тема то баян.. реинкорнаторы на
Оставьте свое сообщение