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

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

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

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

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

"У меня стоит задача.
К документу ПКО я прекрепил функцию которая при нажатие на Ок,Записать,Провести
Создает\пополняет файлик тхт.
С этим все верно.
Но есть одно но, нужно чтобы функция срабатывала только тогда когда документ проведен, а не только записан.
Тоесть щас у меня функция создания файла находитсья в процедуре
Процедура ПриЗаписи()
Перем ОписаниеОш;

Если глМожноЗаписатьДокумент(Контекст)=0 Тогда
СтатусВозврата(0);                        
ИначеЕсли глКонтрольДатыДокумента(Контекст, НачальнаяДатаДокумента)=1 Тогда
СтатусВозврата(0);      
Иначе
Если глПриЗаписиДокОснСФКонтр(Контекст, ВидСчетаФактуры, "ЗаписьКнигиПродаж", НачКонтрагент, НачДоговор, НачФирма, ОписаниеОш, НачСумма) = 0 Тогда
Предупреждение(ОписаниеОш, 60);
СтатусВозврата(0);
Иначе
Если глПриЗаписиДокОснСФВал(Контекст, ВидСчетаФактуры, "ЗаписьКнигиПродаж", НачВалюта, НачКурс, ОписаниеОш) = 0 Тогда
Предупреждение(ОписаниеОш, 60);
СтатусВозврата(0);
Иначе
НачВалюта = Валюта;
НачКурс = Курс;
НачКонтрагент = Контрагент;
НачДоговор = Договор;
НачФирма = Фирма;
НачСумма = Сумма;
КонецЕсли;
КонецЕсли;
КонецЕсли;

Если КодОперации = глКО.ВозвратПодотчетныхСумм Тогда
Контрагент = """";
Договор        = """";

Счет = """";
Субконто1 = """";
Субконто2 = """";
Субконто3 = """";

СчетНУ = """";
СубконтоНУ1 = """";
СубконтоНУ2 = """";
СубконтоНУ3 = """";

ИначеЕсли КодОперации = глКО.Прочее Тогда
Контрагент = """";
Договор = """";

ФизЛицо = """";
АвансовыйОтчет = """";
Иначе
Счет        = """";
Субконто1 = """";
Субконто2 = """";
Субконто3 = """";

СчетНУ = """";
СубконтоНУ1 = """";
СубконтоНУ2 = """";
СубконтоНУ3 = """";

ФизЛицо = """";
АвансовыйОтчет = """";
КонецЕсли;


Конст = Константа.Биллинг.Наименование;
Текст = СоздатьОбъект("Текст");
ТекстДок = СоздатьОбъект("Текст");
Список = СоздатьОбъект("СписокЗначений");
/// Создание файла ПКО.txt
Список.ДобавитьЗначение(НомерДок);
Список.ДобавитьЗначение(ДатаДок);
Список.ДобавитьЗначение("Контрагент: "+ДокОснование.Контрагент);
Кол=0; //Количество Наименований номенклатуры в документ Реализацие.
Биллинг="Ложь";
       Пока(ДокОснование.ПолучитьСтроку() > 0) Цикл
       Сообщить(Конст);
       Сообщить(ДокОснование.Номенклатура.Наименование);
Если ДокОснование.Номенклатура.Наименование = Конст Тогда
Биллинг="Истина";
Список.ДобавитьЗначение(ДокОснование.Номенклатура.Наименование);
КонецЕсли;
Кол=Кол+1;
       КонецЦикла;
Список.ДобавитьЗначение(ДокОснование.СуммаВзаиморасчетов);

       Если (Кол=1) и (Биллинг="Истина") Тогда
Текст.ДобавитьСтроку(Список.ВСтрокуСРазделителями());
Если ФС.СуществуетФайл("C:\ПКО.txt")=1 Тогда
Сообщить("Фаил существует");
ТекстДок.Открыть("C:\ПКО.txt");
ТекстДок.ДобавитьСтроку(Список.ВСтрокуСРазделителями());
             ТекстДок.Записать("C:\ПКО.txt");
       Иначе
Сообщить("Фаила не существует");
Текст.Записать("C:\ПКО.txt");
КонецЕсли;
КонецЕсли;
Список.УдалитьВсе();// очищаем список      

/// Конец Создание файла ПКО.txt


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


Как зделать чтобы файлик перезаписывался только если документ проводиться(тоесть сразу после проводки).
"

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

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

Prikum
читатель
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20455
Пост №3
 
15.02.2009 17:40

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

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

Да.. не указать конфигурацию в данном случае...
О чем люди думают, когда пишут вопрос?

Но если какая-нибудь 7.7, то в документе есть еще модуль документа с процедурой ОбработкаПроведения(). Попробуйте добавить в нее.

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

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

Мальцев Иван Александрович
читатель
офлайн
Дата регистрации: 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)
Я так понимаю ее нужно написать самому...
Какое условие вставить в эту процедуру?

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

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

Я немогу понять полную функциональность этой процедуры.
Понял что Диолог ввода времени вылазит даже при записывание документа без проведения, значит не то что надо.

Неужели некто несталкивался со столь простой(частой) задачей?

Всеголиш нужно чтобы Функция срабатывала после того как документ проведен.

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

задачу решил, спасибо за участие!


Решение:
в процедуру

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

поместил условие

Если Проведен()=1 Тогда

Все работает так как я хотел.
Извените за столь глуппый вопрос.

Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8345
Пост №10
 
16.02.2009 08:31

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

Показывать по 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

Все теги