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

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

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

Как атоматически закрыть документ открытый с помощью процедуры "ОткрытьФорму" ?

Dimarik
читатель
офлайн
Дата регистрации: 02.09.2008
Сообщений: 2
Пост №1
 
02.09.2008 12:58

"Всем добрый день !!!<br>Люди добрые, помогите пожалуйста, если это не трудно !!! <br><br>1.Предистория:<br>Наша компания ведёт складской учёт в программе 1с 77 Аналит: Фармация. Бухгалтерию же ведёт<br>в 1С 77 Буххгалтерский учёт. Особенность в том, что есть товары со ставками 18%, 10% и без НДС.<br>Чтоб не мучится со 100000 номеклатурой ещё и в бухгалтерии, я использую там вссего 3 наименования:<br>товар 10%, товар 18% и товар без НДС. Документы прихода и отгрузги товара прегружаютя соосветственно из складской базы в бухгалтерию со всей номенклатурой. Чтоб руками не обрабатывать в бухгалтерии опять все документы, т.е для автоматизации этого процесса, в процедурах<br>"При открытии" документов ПоступлениеТоваров и РасходнаяНакладная дописал весчи смысл которых такой: При открытии документов он обсчитывает сначала в табличной части, сколько товара по какой ставке и сумме пришло или ушло. Затем удаляет табличную часть и создаёт новую с нужной мне номенклатурой. Сводится соответственно всё к тому что надо открыть документ и нажать кнопку ОК.<br><br>2. Суть проблемы:<br>Так как документов за налоговый период очень много пытаюсь автоматизировать этот процесс написав документ (обработку) смысл которого сводится к тому, что он должен выбрать к примеру документы<br>(непроведённые) ПоступлениеТоваров в определённом периоде, автоматически открыть их<br>чтоб вступили изменения описанные в пункте 1, и провести их.<br><br>Форма документа:<br>С даты ...... по .......<br>Кнопки выполнить и закрыть.<br><br>Модуль документа:<br><br>Процедура Выполнить()<br><br> Перем БИ;<br><br> Если Дата1 <= Константа.ДатаЗапретаРедактирования Тогда<br> Предупреждение("Нельзя обрабатывать документы с датой, более ранней, чем дата запрета редактирования документов!");<br> Возврат;<br> КонецЕсли;<br> Док = СоздатьОбъект("Документ");<br> Док.ВыбратьДокументы(Дата1,Дата2);<br> Пока Док.ПолучитьДокумент() = 1 Цикл<br><br> Состояние("Обработка "+Док.ДатаДок);<br> Если Док.Вид() = "ПоступлениеТоваров" Тогда<br><br>       Докум = Док.ТекущийДокумент();<br> ОткрытьФорму(Докум);<br><br> Если ОткрытьФорму(Докум) = 1 Тогда<br> Сообщить ("Форма открыта: " + Докум);<br><br> Форма.Закрыть();<br>//Вот сдесь он закрывает у меня форму документа который используется т.е. обработку,<br>//А НУЖНО ЧТОБ ЗАКРЫЛ И ПРОВЁЛ ДОКУМЕНТ ПОСТУПЛЕНИ ТОВАРОВ !!!!!!!!!!<br><br> //Докум.Закрыть();<br> //Докум.Форма.Закрыть();<br><br> глПриПроведении(Докум);<br><br> ИначеЕсли ОткрытьФорму(Докум) = 0 Тогда<br> Сообщить ("Форма не открыта !!!: " + Докум);<br> Конецесли;<br><br> Док.Записать();<br><br>// СДЕСЬ ОН ПИШЕТ ЧТО ДОКУМЕНТ ЗАБЛОКИРОВАН т.к. ОТКРЫТ !!!!<br>// КАК ЕГО ЗАКРЫТЬ ????????????????????????????????<br><br> //Если Док.ПометкаУдаления() = 1 Тогда<br> //Иначе<br> // Сообщить("Проведение "+Док);<br> // Если Док.Провести() = 0 Тогда<br> // Возврат;<br> // КонецЕсли;<br> //КонецЕсли;<br>             КонецЕсли;<br> КонецЦикла;<br>КонецПроцедуры<br><br>//________________________________­_____________________________________________<br><br>Процеду­ра ПриОткрытии()<br> Дата1 = НачалоПериодаБИ();<br> Дата2 = КонецПериодаБИ();<br>КонецПроцедуры<br><br><br>КАК ЗАКРЫТЬ ДОКУМЕНТ ПОСТУПЛЕНИЕ ТОВАРОВ ОТКРЫТЫЙ С ПОМОЩЬЮ ПРОЦЕДУРЫ<br>"ОткрытьФорму(Текущий документ)" ????????????????????????<br><br>ПОЖАЛУЙСТА ПОМОГИТЕ !!!!!!<br>"

IceBeerg
читатель
офлайн
Дата регистрации: 06.10.2004
Сообщений: 803
Пост №2
 
02.09.2008 13:10

"Зачем открывать и закрывать документы???<br>Делайте обработку табличной части в обработке.<br>После Докум = Док.ТекущийДокумент();<br>//Создайте ТЗ для временного хранения данных<br>Делайте Докум.ВыбратьСтроки();<br>Пока Докум.ПолучитьСтроку()>0 Цикл<br>//Здесь обсчет табличной части и заполнение временной ТЗ необходимыми данные<br>КонецЦикла;<br>Докум.УдалитьСтроки();<br>//И далее заново заполнение табличной части необходимыми значениями из временной ТЗ<br><br>Приблизительно так.<br>А открывать, закрывать документ это через (_!_)"

Dimarik
читатель
офлайн
Дата регистрации: 02.09.2008
Сообщений: 2
Пост №3
 
02.09.2008 13:34

Большое спасибо !!!<br><br>А вообще в принципе возможно закрыть документ из модуля друго документа,<br>как в этом случае ??????<br><br>С Уважением,<br>             Дмитрий.

IceBeerg
читатель
офлайн
Дата регистрации: 06.10.2004
Сообщений: 803
Пост №4
 
02.09.2008 15:53

"Процедура ОткрытьЗакрытьДокумент()<br> Док=СоздатьОбъект("Документ");<br> Док.Выбрать("Выберите документ","""");<br> ОткрДок=Док.ТекущийДокумент();<br> Конт="""";<br> ОткрытьФорму(ОткрДок,Конт);<br> Сообщить(СокрЛП(Конт.Вид())+" № "+СокрЛП(Конт.НомерДок)+" от " +Строка(Конт.ДатаДок));<br> Конт.Форма.Закрыть();<br>КонецПроцедуры<br>"

zak555 (398843952)
читатель
офлайн
Дата регистрации: 27.03.2008
Сообщений: 4656
Пост №5
 
03.09.2008 11:23

"Лучше сделать так :<br>открываем документ... ОткрытьФорма(...,"Параметр_Открытия_Документа")<br><br>в модуле формы документа<br><br>//...<br>Процедура ПриОткрытии()<br>//..<br>Если ПустоеЗначение(Форма.Парамет)=0 Тогда<br> Если Форма.Параметр = "Параметр_Открытия_Документа" Тогда<br>       Выполнить();<br>       Записать();<br>       Провести();<br>       СтатусВозврата(0);<br> КонецЕсли;<br>КонецЕсли;<br>КонецПроцедуры<br>//...<br>"

IceBeerg
читатель
офлайн
Дата регистрации: 06.10.2004
Сообщений: 803
Пост №6
 
03.09.2008 12:14

Это если стоит вопрос о сохранении и проведении

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

Читают тему:

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