helpf.pro
Регистрация

v8: Взаимосвязь документов

Bell
08.11.2011 12:54Прочитано: 2013
Здравствуйте
Скажите что еще надо сделать
При проведении документа Выписка заполняются реквизиты документа платжное порчение
Оплачено и дата Оплаты. А вот если я удалю строки платежных поручений из выписки и проведу ее еще раз реквзиты платежки остаются заполненными.

Код 1C v 8.х
 Процедура УстановитьПометкуСвязи()


Для Каждого СтрокаТЧ из тблДокументы Цикл

Документ=СтрокаТЧ.ВидДокумента.ПолучитьОбъект();

Если СтрокаТЧ.фл=Ложь Тогда
Документ.Оплачено=Ложь;
Документ.ДатаОплаты='00010101';
Документ.Записать(РежимЗаписиДокумента.ОтменаПроведения);
ИначеЕсли СтрокаТЧ.фл=Истина Тогда
Документ.Оплачено=Истина;
Документ.ДатаОплаты=Дата;
Документ.Записать(РежимЗаписиДокумента.Проведение);
КонецЕсли;
//
КонецЦикла;


КонецПроцедуры
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
08.11.2011 14:17Ответ № 1
(0) Bell, судя по коду, перед удалением сначала нужно снять како-то флажок ФЛ, провести и потом удалить
Bell
08.11.2011 14:42Ответ № 2
По коду (при записи, првоведении)
1. Если флаг в таб. части Выписки стоит тогда установить реквизиты в платежке (Работает)
2. Если флаг не стоит в таб. части выписки тогда снять значнея реквзитов в платежке (работает)
3. Если удаляем строку из таб. части выписки то Надо снять реквизиты в платежке,тк ее нет в выписки ( Не работает )
E_Migachev
08.11.2011 15:35Ответ № 3
(2) Bell, сделай событие при удалении строки ТабПоля и в него добавь очищение реквизитов
Bell
10.11.2011 10:51Ответ № 4
Сделал через передача параметров в обработку и обратно (работает), а то если из формы документа все делать в проверках вязнешь.

И аналогичный вопрос Про справочники
При проведении документа значение из таб. части документа записывается в реквизит справочника.Просмотрел свойства реквизитов справочника и ничего не нашел что бы само значение возвращало (при пометке на удаление или удалении строки из документа)
В 7.7. если не изменяет память есть галка устанавливается документом и все проблемы решены.есть подобное в 8.2
E_Migachev
10.11.2011 12:19Ответ № 5
(4) Bell, а покажи код этой обработки, даж интересно *13
по второму вопросу - тут нужно самому прописать все возможные варианты изменения
Bell
10.11.2011 15:18Ответ № 6
Выписка
Код 1C v 8.х
 Процедура ЗапускОбработкиВыписки()

МетаданныеДокумента = ДокументОбъект.Метаданные();
// Контекст обработки
ФормаОбработкиСоздать = Обработки.Выписка.Создать();
ФормаОбработки = ФормаОбработкиСоздать.ПолучитьФорму("Выписка",ЭтаФорма);
// Передача параметров шапки
ФормаОбработки.ДокументОбъект = ДокументОбъект;
ФормаОбработки.Номер = Номер;
ФормаОбработки.Дата = Дата;
//Перенесем табличную часть документа в табличную часть обработки (если колонки совпадают тогда отображается)
ТЧ = ДокументОбъект.тблДокументы.Выгрузить();
ФормаОбработки.тблДокументы.Загрузить(ТЧ);

ФормаОбработки.ОткрытьМодально();

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


Обработка для Выписки (возврат таб. части)
Код 1C v 8.х
 Процедура УстановитьПометкуСвязи()

СтрокаТЧ=ЭлементыФормы.тблДокументы.ТекущиеДанные;

Для Каждого СтрокаТЧ из тблДокументы Цикл

Документ=СтрокаТЧ.ВидДокумента.ПолучитьОбъект();

Если СтрокаТЧ.фл=Ложь Тогда
Документ.флОплачено=Ложь;
Документ.ДатаОплаты='00010101';
Документ.Записать(РежимЗаписиДокумента.ОтменаПроведения);
ИначеЕсли СтрокаТЧ.фл=Истина Тогда
Документ.флОплачено=Истина;
Документ.ДатаОплаты=Дата;
Документ.Записать(РежимЗаписиДокумента.Проведение);
КонецЕсли;
//
КонецЦикла;

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


Удаление пометок с документа . Почему через обработку, т.к.я могу удалить строку из документа, а потом вдруг не захочу его сохранять с изменениями . в документе останутся всеп поментки (видимость их), а в самих документах их нет, т.к процедура передудалением.
И потом поехали ПЕРЕПРОВЕРКИ

Код 1C v 8.х
 Процедура УдалениеПометкиСвязи()

// можно и по другому но этот срабатывает всегда

СтрокаТЧ=ЭлементыФормы.тблДокументы.ТекущиеДанные;
Документ=СтрокаТЧ.ВидДокумента.ПолучитьОбъект();
Документ.флОплачено=Ложь;
Документ.ДатаОплаты='00010101';
Документ.Записать(РежимЗаписиДокумента.ОтменаПроведения);

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

Изменено 10.11.11 15:19:28
Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.