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

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

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

Выполнить функцию только если пользователь провел документ

Мальцев Иван Александрович
читатель
офлайн
Дата регистрации: 03.02.2009
Сообщений: 16
Пост №1
 
15.02.2009 17:16

"У меня стоит задача.<br>К документу ПКО я прекрепил функцию которая при нажатие на Ок,Записать,Провести<br>Создает\пополняет файлик тхт.<br>С этим все верно.<br>Но есть одно но, нужно чтобы функция срабатывала только тогда когда документ проведен, а не только записан.<br>Тоесть щас у меня функция создания файла находитсья в процедуре<br>Процедура ПриЗаписи() <br> Перем ОписаниеОш;<br> <br> Если глМожноЗаписатьДокумент(Контекст)=0 Тогда<br> СтатусВозврата(0);                        <br> ИначеЕсли глКонтрольДатыДокумента(Контекст, НачальнаяДатаДокумента)=1 Тогда<br> СтатусВозврата(0);      <br> Иначе<br> Если глПриЗаписиДокОснСФКонтр(Контекст, ВидСчетаФактуры, "ЗаписьКнигиПродаж", НачКонтрагент, НачДоговор, НачФирма, ОписаниеОш, НачСумма) = 0 Тогда<br> Предупреждение(ОписаниеОш, 60);<br> СтатусВозврата(0);<br> Иначе<br> Если глПриЗаписиДокОснСФВал(Контекст, ВидСчетаФактуры, "ЗаписьКнигиПродаж", НачВалюта, НачКурс, ОписаниеОш) = 0 Тогда<br> Предупреждение(ОписаниеОш, 60);<br> СтатусВозврата(0);<br> Иначе<br> НачВалюта = Валюта;<br> НачКурс = Курс;<br> НачКонтрагент = Контрагент;<br> НачДоговор = Договор;<br> НачФирма = Фирма; <br> НачСумма = Сумма;<br> КонецЕсли;<br> КонецЕсли;<br> КонецЕсли;<br><br> Если КодОперации = глКО.ВозвратПодотчетныхСумм Тогда<br> Контрагент = """";<br> Договор        = """";<br> <br> Счет = """";<br> Субконто1 = """";<br> Субконто2 = """";<br> Субконто3 = """";<br><br> СчетНУ = """";<br> СубконтоНУ1 = """";<br> СубконтоНУ2 = """";<br> СубконтоНУ3 = """";<br><br> ИначеЕсли КодОперации = глКО.Прочее Тогда<br> Контрагент = """";<br> Договор = """";<br> <br> ФизЛицо = """";<br> АвансовыйОтчет = """";<br> Иначе<br> Счет        = """";<br> Субконто1 = """";<br> Субконто2 = """";<br> Субконто3 = """";<br><br> СчетНУ = """";<br> СубконтоНУ1 = """";<br> СубконтоНУ2 = """";<br> СубконтоНУ3 = """";<br> <br> ФизЛицо = """";<br> АвансовыйОтчет = """";<br> КонецЕсли; <br><br><br> Конст = Константа.Биллинг.Наименование; <br> Текст = СоздатьОбъект("Текст");<br> ТекстДок = СоздатьОбъект("Текст");<br> Список = СоздатьОбъект("СписокЗначений");<br> /// Создание файла ПКО.txt <br> Список.ДобавитьЗначение(НомерДок);<br> Список.ДобавитьЗначение(ДатаДок);<br> Список.ДобавитьЗначение("Контрагент: "+ДокОснование.Контрагент);<br> Кол=0; //Количество Наименований номенклатуры в документ Реализацие.<br> Биллинг="Ложь";<br>       Пока(ДокОснование.ПолучитьСтроку() > 0) Цикл<br>        Сообщить(Конст);<br>        Сообщить(ДокОснование.Номенклатура.Наименование);<br> Если ДокОснование.Номенклатура.Наименование = Конст Тогда<br> Биллинг="Истина";<br> Список.ДобавитьЗначение(ДокОснование.Номенклатура.Наименование);<br> КонецЕсли; <br> Кол=Кол+1; <br>       КонецЦикла;<br> Список.ДобавитьЗначение(ДокОснование.СуммаВзаиморасчетов);<br> <br>       Если (Кол=1) и (Биллинг="Истина") Тогда<br> Текст.ДобавитьСтроку(Список.ВСтрокуСРазделителями()); <br> Если ФС.СуществуетФайл("C:\ПКО.txt")=1 Тогда <br> Сообщить("Фаил существует");<br> ТекстДок.Открыть("C:\ПКО.txt");<br> ТекстДок.ДобавитьСтроку(Список.ВСтрокуСРазделителями()); <br>             ТекстДок.Записать("C:\ПКО.txt"); <br>        Иначе<br> Сообщить("Фаила не существует");<br> Текст.Записать("C:\ПКО.txt");<br> КонецЕсли;<br> КонецЕсли; <br> Список.УдалитьВсе();// очищаем список       <br> <br>/// Конец Создание файла ПКО.txt<br><br> <br>КонецПроцедуры // ПриЗаписи() <br><br><br>Как зделать чтобы файлик перезаписывался только если документ проводиться(тоесть сразу после проводки).<br>"

Мальцев Иван Александрович
читатель
офлайн
Дата регистрации: 03.02.2009
Сообщений: 16
Пост №2
 
15.02.2009 17:32

при нажатие на кнопки Провести и Ок... Вылазиет окошко(которое просит указать в какой конец дня ввести), такчто нужно именно чтобы функция срабатывала при нажатие на кнопку Ок в этом окошке выбора времени... а не при нажатие на кнопки провести на главной Форме ПКО

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20953
Пост №3
 
15.02.2009 17:40

Иван Александрович, а вы можете не так много писать? Да и не плохо бы указать конфигурацию и платформу, хотя догадываюсь, что речь идет о 7.7!

Svetlana_E
читатель
офлайн
Дата регистрации: 30.08.2006
Сообщений: 2645
Пост №4
 
15.02.2009 18:01

Да.. не указать конфигурацию в данном случае...<br>О чем люди думают, когда пишут вопрос?<br><br>Но если какая-нибудь 7.7, то в документе есть еще модуль документа с процедурой ОбработкаПроведения(). Попробуйте добавить в нее.

Alizar
читатель
офлайн
Дата регистрации: 23.08.2007
Сообщений: 311
Пост №5
 
15.02.2009 18:03

Да, Иван Александрович, так много писать не стоило.<br>Я думаю Вашу "функцию" лучше запускать через процедуру ОбработкаПроведения() с предварительной проверкой проведен документ или нет.

Мальцев Иван Александрович
читатель
офлайн
Дата регистрации: 03.02.2009
Сообщений: 16
Пост №6
 
15.02.2009 18:12

1С 7.7 Торговля... Документ Приходной кассовый ордер

Мальцев Иван Александрович
читатель
офлайн
Дата регистрации: 03.02.2009
Сообщений: 16
Пост №7
 
15.02.2009 18:16

ОбработкаПроведения() - такой процедуры нет в модуле ПКО (7.7)<br>Я так понимаю ее нужно написать самому...<br>Какое условие вставить в эту процедуру?

Мальцев Иван Александрович
читатель
офлайн
Дата регистрации: 03.02.2009
Сообщений: 16
Пост №8
 
15.02.2009 22:46

ОбработкаПроведения(<3нач>) - мне непоможет..<br>щас читал про нее.. нечего толком непонял..<br>и вообще немогу понять что вызывает эту процедуру..<br>она попросту несрабатывает у меня.<br>может быть это и очень "нубовский" вопрос, но всеже.. я немогу найти хорошей книги по 7.7<br>Где бы была удобная навигация по книге.<br>щас же листая к примеру <br>1С:Предприятие<br>Версия 7.7<br>Описание встроенного языка<br>Часть 1<br><br>Я немогу понять полную функциональность этой процедуры.<br>Понял что Диолог ввода времени вылазит даже при записывание документа без проведения, значит не то что надо.<br><br>Неужели некто несталкивался со столь простой(частой) задачей?<br><br>Всеголиш нужно чтобы Функция срабатывала после того как документ проведен.

Мальцев Иван Александрович
читатель
офлайн
Дата регистрации: 03.02.2009
Сообщений: 16
Пост №9
 
15.02.2009 23:10

задачу решил, спасибо за участие!<br><br><br>Решение:<br>в процедуру <br><br>       Процедура ПриЗакрытии()<br><br>поместил условие<br><br> Если Проведен()=1 Тогда<br><br>Все работает так как я хотел. <br>Извените за столь глуппый вопрос.

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №10
 
16.02.2009 08:31

Знаете как называется вызов какого-нибудь диалога в обработке проведения документа при сдаче сертификационного экзамена?

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

Читают тему:

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