Бухгалтерский учет, налогообложение, отчетность, МСФО, анализ бухгалтерской информации, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Откат в документе

kalisto
читатель
офлайн
Дата регистрации: 12.01.2005
Сообщений: 216
Пост №1
 
10.04.2006 15:37

Подскажите, пожалуйста. Можно ли при заполнении документа сделать откат на одно действие назад. Это очень необходимо, т.к. наш ОК может нечайно удалить строку в табличной части заполненного документа и не вспомнить, что в ней было. (маразм). Как это можно реализовать программно - код?

andrew_am
читатель
офлайн
Дата регистрации: 01.08.2005
Сообщений: 86
Пост №2
 
10.04.2006 15:56

Ну мона попробовать добавить процедуру ПриУдаленииСтроки(), где перебирая реквизиты таб части дока заносить их в таб.значений например, а при необходимости возвращать эти рекв.

kalisto
читатель
офлайн
Дата регистрации: 12.01.2005
Сообщений: 216
Пост №3
 
10.04.2006 16:10

А если удалили не полностью сторку, а значение какое-нибудь в ячейке?

andrew_am
читатель
офлайн
Дата регистрации: 01.08.2005
Сообщений: 86
Пост №4
 
10.04.2006 16:12

ну тада еще ПриНачалеРедактированияСтроки()

Feanor
читатель
офлайн
Дата регистрации: 12.04.2006
Сообщений: 20
Пост №5
 
12.04.2006 11:03

"Первое, что приходит в голову для 7.7))
Сделай глобальую переменную для документа "Откат" - тип "СписокЗначений". В нужные события дописать
//-------------------------
ТабЧасть = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(ТабЧасть);
//можно ограничить число шагов отката - в итоге ровно МаксЗнач возможностей отката назад
//Если Откат.РазмерСписка() > МаксЗнач Тогда
// Откат.УдалитьЗначение(1);
//КонецЕсли;
Откат.ДобавитьЗначение(ТабЧасть);
//-------------------------
Далее добавляем на форму кнопку "<=" (угадай, зачем))) и вешаем на нее событие, например Откатить()
//-------------------------
Процедура Откатить()
//здесь нужно указать, какой по порядку вариант нужно вернуть, в простейшем случае:
ПозОтката = Откат.РазмерСписка();
ТабЧасть = Откат.ПолучитьЗначение(ПозОтката);
ЗагрузитьТабличнуюЧасть(ТабЧасть);
Откат.УдалитьЗначение(ПозОтката);
КонецПроцедуры
//-------------------------
более интересен вариант с возможностью вернуть назад состояния табличной части, имевшие место быть до начала отката, но он несколько более сложен в реализации. Только вот нужно следить за изменениями после отката и вычищать неактуальные значения после хотя бы какого-нить изменения. И будет как в ворде)))
З.Ы. Это тока мысли - на деле я не пробовал, мож че и криво будет - строго не судите))
"

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Учет, налогообложение, автоматизация
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • ЕГАИС
Предложения партнеров
Обучение пользователей продуктов 1С

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

Все теги