Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

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

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

Изменение времени проведения старых документов

Andy2C
новичок
офлайн
Пост №1
 
10.10.2004 12:59

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

ValeraH
читатель
офлайн
Дата регистрации: 31.03.2004
Сообщений: 264
Пост №2
 
11.10.2004 12:31

"Вот такую процедурку в журнале документов использую (вызов под кнопку в журнале)<br><br>Процедура ИзменитьВремяДокумента()<br><br> ТекДок=ТекущийДокумент;<br><br> Если ТекДок.Выбран()=0 Тогда<br><br> Возврат;<br><br> КонецЕсли;<br><br> <br><br> Меню=СоздатьОбъект("СписокЗначений");<br><br> Меню.ДобавитьЗначение("Назад","Переместить назад");<br><br> Меню.ДобавитьЗначение("Вперед","Переместить вперед");<br><br> Меню.ДобавитьЗначение("ВНачало","Переместить в начало дня");<br><br> Меню.ДобавитьЗначение("ВКонец","Переместить в конец дня");<br><br> Вариант="""";<br><br> Если Меню.ВыбратьЗначение(Вариант,,,,1)=0 Тогда<br><br> Возврат;<br><br> КонецЕсли;<br><br> <br><br> Док=СоздатьОбъект("Документ");<br><br> <br><br> НачатьТранзакцию();<br><br> <br><br> Если Вариант="Назад" Тогда<br><br> Док.ОбратныйПорядок(1);<br><br> Док.ВыбратьДокументы(ТекДок.ДатаДок,СформироватьПозициюДокумента(ТекДок.ПолучитьПозицию(),-1));<br><br> Если Док.ПолучитьДокумент()=0 Тогда<br><br> Возврат;<br><br> КонецЕсли;<br><br> Время2=ПолучитьВремяДокументаЧислом(Док);<br><br> Если Док.ПолучитьДокумент()=1 Тогда<br><br> Время1=ПолучитьВремяДокументаЧислом(Док);<br><br> Иначе<br><br> Время1=0;<br><br> КонецЕсли;<br><br> Время=Время2-60;<br><br> Если Время<=Время1 Тогда<br><br> Время=Окр((Время2+Время1)/2);<br><br> КонецЕсли;<br><br> Если (Время<=Время1) или (Время>=Время2) Тогда<br><br> Предупреждение("Нет возможности переставить документ!");<br><br> Возврат;<br><br> КонецЕсли;<br><br> ИначеЕсли Вариант="Вперед" Тогда<br><br> Док.ОбратныйПорядок(0);<br><br> Док.ВыбратьДокументы(СформироватьПозициюДокумента(ТекДок.ПолучитьПозицию(),1),ТекДок.ДатаДок);<br><br> Если Док.ПолучитьДокумент()=0 Тогда<br><br> Возврат;<br><br> КонецЕсли;<br><br> Время1=ПолучитьВремяДокументаЧислом(Док);<br><br> Если Док.ПолучитьДокумент()=1 Тогда<br><br> Время2=ПолучитьВремяДокументаЧислом(Док);<br><br> Иначе<br><br> Время2=3600*23+60*59+59+1;<br><br> КонецЕсли;<br><br> Время=Время1+60;<br><br> Если Время>=Время2 Тогда<br><br> Время=Окр((Время2+Время1)/2);<br><br> КонецЕсли;<br><br> Если (Время<=Время1) или (Время>=Время2) Тогда<br><br> Предупреждение("Нет возможности переставить документ!");<br><br> Возврат;<br><br> КонецЕсли;<br><br> ИначеЕсли Вариант="ВНачало" Тогда<br><br> Док.ОбратныйПорядок(0);<br><br> Док.ВыбратьДокументы(ТекДок.ДатаДок,СформироватьПозициюДокумента(ТекДок.ПолучитьПозицию(),-1));<br><br> Если Док.ПолучитьДокумент()=0 Тогда<br><br> Возврат;<br><br> КонецЕсли;<br><br> Время2=ПолучитьВремяДокументаЧислом(Док);<br><br> Время1=0;<br><br> Время=Время2-60;<br><br> Если Время<=Время1 Тогда<br><br> Время=Окр((Время2+Время1)/2);<br><br> КонецЕсли;<br><br> Если (Время<=Время1) или (Время>=Время2) Тогда<br><br> Предупреждение("Нет возможности переставить документ!");<br><br> Возврат;<br><br> КонецЕсли;<br><br> ИначеЕсли Вариант="ВКонец" Тогда<br><br> Док.ОбратныйПорядок(1);<br><br> Док.ВыбратьДокументы(СформироватьПозициюДокумента(ТекДок.ПолучитьПозицию(),1),ТекДок.ДатаДок);<br><br> Если Док.ПолучитьДокумент()=0 Тогда<br><br> Возврат;<br><br> КонецЕсли;<br><br> Время1=ПолучитьВремяДокументаЧислом(Док);<br><br> Время2=3600*23+60*59+59+1;<br><br> Время=Время1+60;<br><br> Если Время>=Время2 Тогда<br><br> Время=Окр((Время2+Время1)/2);<br><br> КонецЕсли;<br><br> Если (Время<=Время1) или (Время>=Время2) Тогда<br><br> Предупреждение("Нет возможности переставить документ!");<br><br> Возврат;<br><br> КонецЕсли;<br><br> КонецЕсли;<br><br> <br><br> Провести=0;<br><br> Док.НайтиДокумент(ТекДок);<br><br> Если Док.Проведен()=1 Тогда<br><br> Док.СделатьНеПроведенным();<br><br> Провести=1;<br><br> КонецЕсли;<br><br> <br><br> УстановитьВремяДокументаЧислом(Док,Время);<br><br> Док.Записать();<br><br> <br><br> Если Провести=1 Тогда<br><br> Док.Провести();<br><br> КонецЕсли;<br><br> <br><br> ЗафиксироватьТранзакцию();<br><br>КонецПроцедуры<br><br>//-------------------------------------<br><br>"

Andy2C
новичок
офлайн
Пост №3
 
14.10.2004 18:41

Спасибо, но я думал можно сделать как-то проще.

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

Читают тему:

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