Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 17:19
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как правильно писать обработку  (Прочитано 2547 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alikoff

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-03-25
  • Сайт: 
  • Профессия: Программист 8.1
Подскажите пожалуйста по теории. Пишу обработку для документа. В документе есть поле выбора "Банковский счет". При выборе банковского счета возникает события которое обрабатывает процедура "СчетОрганизацииНачалоВыбора". Вопрос такой, если я пишу обработку и выбираю банковский счет программно, допустим поиском по счету. То данное событие не активируется. Как сделать так что бы активировать это события?? Или может что то другое можно придумать?? Или в обработке нужно переписывать это события??


Оффлайн Besart

  • *****
  • Сообщений: 678
  • РЕПУТАЦИЯ: 142
  • КПД: 21%
  • Регистрация: 2012-12-10
    • Skype: artfa.a
  • Компания: Фрилансер
  • Профессия: Программист 8.1
выбираю банковский счет программно
программно и обрабатывайте, так же как вы обрабатываете на форме

Оффлайн alikoff

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-03-25
  • Сайт: 
  • Профессия: Программист 8.1
Допустим вот моя обработка где я на форму документа передаю полученые данные
Процедура СозданиеППИсходящегоНажатие(Элемент)
ТекДанные=ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные;
ППИсходящий=Документы.ПлатежноеПоручениеИсходящее.СоздатьДокумент();
ППИсходящий.Номер=ТекДанные.НомерПП;
ППИсходящий.Дата=Дата("20"+ТекДанные.ДатаПП);
ВидыОперацийППИсходящее=Перечисления.ВидыОперацийППИсходящее;
ППИсходящий.ВидОперации=ВидыОперацийППИсходящее.ОплатаПоставщику;
ППИсходящий.СуммаДокумента=Число(ТекДанные.СуммаПП);
ППИсходящий.Организация=Справочники.Организации.НайтиПоРеквизиту("ИНН",ТекДанные.УНППлательщика);
ППИсходящий.Контрагент=Справочники.Контрагенты.НайтиПоРеквизиту("ИНН",ТекДанные.УНППолучателя);
ППИсходящий.СчетБанк=ПланыСчетов.Хозрасчетный.НайтиПоКоду("51");
ППИсходящий.СчетКонтрагента=Справочники.БанковскиеСчета.НайтиПоРеквизиту("НомерСчета",ТекДанные.СчетПолучателя);
ППИсходящий.ДоговорКонтрагента=ТекДанные.ДоговорОплаты.Ссылка;
ППИсходящий.СчетУчетаРасчетовСКонтрагентом=ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.1");
//ППИсходящий.СчетУчетаРасчетовПоАвансам=ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.2");
ППИсходящий.НазначениеПлатежа=ТекДанные.НазначПлатежа1+Символы.ПС+ТекДанные.НазначПлатежа2+Символы.ПС+ТекДанные.НазначПлатежа3;
ППИсходящий.ВидПлатежногоПоручения="Простое";
РасшифровкаПлатежа=ППИсходящий.РасшифровкаПлатежа;
///////
СтрокаРасшифровкиПлатежа=РасшифровкаПлатежа.Добавить();
СтрокаРасшифровкиПлатежа.ДоговорКонтрагента=ППИсходящий.ДоговорКонтрагента;
СтрокаРасшифровкиПлатежа.СуммаПлатежа=ППИсходящий.СуммаДокумента;
СтрокаРасшифровкиПлатежа.КурсВзаиморасчетов=1;
СтрокаРасшифровкиПлатежа.СчетУчетаРасчетовПоАвансам=ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.2");
СтрокаРасшифровкиПлатежа.СчетУчетаРасчетовСКонтрагентом=ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.1");

ППИсходящий.СчетОрганизации=Справочники.БанковскиеСчета.НайтиПоРеквизиту("НомерСчета",ТекДанные.СчетПлательщика);[color=red]//В документе сдесь поле выбора, с обработчиками событий "НачалоВыбора" и "ПриИзменении"[/color]
ППИсходящий.Записать(РежимЗаписиДокумента.Запись);
КонецПроцедуры

ППИсходящий.СчетОрганизации=Справочники.БанковскиеСчета.НайтиПоРеквизиту("НомерСчета",ТекДанные.СчетПлательщика);//В документе сдесь поле выбора, с обработчиками событий "НачалоВыбора" и "ПриИзменении"
Это вот обрабочик события НачалоВыбора, в документе
Процедура СчетОрганизацииНачалоВыбора(Элемент, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;

ФормаСчета = Справочники.БанковскиеСчета.ПолучитьФормуВыбора(,Элемент);

Если НЕ СчетБанк.Пустая() Тогда

ФормаСчета.Отбор.ВалютаДенежныхСредств.ВидСравнения  = ?(СчетБанк.Валютный,ВидСравнения.НеРавно,ВидСравнения.Равно);
ФормаСчета.Отбор.ВалютаДенежныхСредств.Значение      = мВалютаРегламентированногоУчета;
ФормаСчета.Отбор.ВалютаДенежныхСредств.Использование = Истина;

КонецЕсли;

Если НЕ Организация.Пустая() Тогда

ФормаСчета.Отбор.Владелец.ВидСравнения  = ВидСравнения.Равно;
ФормаСчета.Отбор.Владелец.Значение      = Организация;
ФормаСчета.Отбор.Владелец.Использование = Истина;

КонецЕсли;

Если ЗначениеЗаполнено(Элемент.Значение) Тогда
ФормаСчета.ПараметрТекущаяСтрока = Элемент.Значение;
КонецЕсли;

ФормаСчета.РежимВыбора = Истина;
ФормаСчета.Открыть();

КонецПроцедуры

А это вот Обрабочик события ПриИзменении.
Процедура СчетОрганизацииПриИзменении(Элемент)

ПриИзмененииСчетаОрганизации();

АвтоЗначенияРеквизитов = ФормированиеПечатныхФорм.СформироватьАвтоЗначенияРеквизитовПлательщикаПолучателя(
                         Организация, СчетОрганизации, Контрагент, СчетКонтрагента, ВидОперации);

УстановитьРеквизитыПлательщика();

КонецПроцедуры // СчетОрганизацииПриИзменении()

Эти процедуры находятся на форме документа, и расчитаны для ручного ввода. т.е. открывается окно выбора банковского счета, пользователь выбирает его, в процедурах проводится проверка валюты и еще всякой всячины. Эти процедуры ссылаются на другие в этом же документе. И тупо переписывать весь докумен для того что бы передать в поле ввода из обработки данные мне кажется глупо. Или я чего то не понимаю??

Как тут быть??



Добавлено: 25 Мар 2014, 13:11

Ах да, поясню в чем заключается задача. Задача выгрузить из клиент-банка платежки и загрузить их в 1с. Ход выполнения в том что бы реализовать обработку которая будет считывать файлы платежак, создавать в документ Платежное-поручение и передавать в него считанные данные из файла.

Последний раз редактировалось: alikoff; 25 Мар 2014, 13:11. Причина: Объединение сообщений

Оффлайн Besart

  • *****
  • Сообщений: 678
  • РЕПУТАЦИЯ: 142
  • КПД: 21%
  • Регистрация: 2012-12-10
    • Skype: artfa.a
  • Компания: Фрилансер
  • Профессия: Программист 8.1
после СтандартнаяОбработка=Ложь, выносите весь код в отдельную процедуру и вызывайте эту процедуру программно откуда вам требуется


Теги: обработка 
 

Как правильно настроить регламентные "Обновление индекса ППД" и "Слияние индекса ППД"

Автор bkmz_1_Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 4331
Последний ответ 13 Окт 2016, 09:14
от MuI_I_Ika
Можете помочь написать обработку которая сможет делать реализацию списывая поступления из другой базы или ссылаясь на них? просто одна компания покупает другая продает этот товар и чтобы вторая компания не смогла продать больше чем есть у первой? 1с 8.2 2

Автор Юлия АндреевнаРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 743
Последний ответ 13 Ноя 2016, 19:25
от BuhRust
Владелец задан или задан не правильно

Автор СерьезныйЧеловекРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 3310
Последний ответ 16 Сен 2010, 09:29
от ms
Как правильно "Свернуть" базу

Автор frankРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 8656
Последний ответ 12 Дек 2011, 09:52
от frank
Как правильно ввести услугу "страховка груза" (рассчитывается процентом от указанной суммы)

Автор ElenaAlmazРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 2269
Последний ответ 28 Окт 2014, 15:26
от ElenaAlmaz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
168 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
48 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 662
  • Точка Скрытых: 0
  • Точка Пользователей: 14
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal