|
УРБД. Бухгалтерия КОРП. Банковские счета. | ☑ | ||
---|---|---|---|---|
0
GalanEvgeny
13.02.13
✎
07:37
|
Создал периферийную базу по правилу обмена = по организации. Не выгрузились банковские счета. Где смотреть?
|
|||
1
GalanEvgeny
13.02.13
✎
07:54
|
Не выгрузились счета контрагентов. Помогите!
|
|||
2
kosts
13.02.13
✎
08:00
|
(1) Перезапиши счет и попробуй обмен.
И смотри есть ли счета вообще в плане обмена |
|||
3
GalanEvgeny
13.02.13
✎
08:08
|
Банковские счета входят в состав плана обмена с авторегистрацией = запрещать(это верно т.к. нам не надо счетов всех организаций, только контрагентов + по указанным организациям)
|
|||
4
kosts
13.02.13
✎
08:15
|
(3) Ну смотри, алгоритм регистрации счетов для обмена при записи счета, где-то что-то не срабатывает...
|
|||
5
lion11
13.02.13
✎
08:43
|
Банковские счета нужны по контрагентам или по самой организации?
|
|||
6
GalanEvgeny
13.02.13
✎
08:53
|
По контрагентам
|
|||
7
GalanEvgeny
13.02.13
✎
08:55
|
В справочнике "Банковские счета" в качестве владельца могут выступать как контрагенты, так и организации, поэтому авторегистрация=запретить
|
|||
8
lion11
13.02.13
✎
10:01
|
Попробуй для контрагента добавить Основной договор по данной организации, и сделай обмен.
|
|||
9
GalanEvgeny
13.02.13
✎
11:55
|
Такой способ получения банковского счета не подходит, т.к. обмен идет раз в час
|
|||
10
Aleksey
13.02.13
✎
11:58
|
А контрагенты выгрузились? Или вы правила меняли?
|
|||
11
GalanEvgeny
13.02.13
✎
12:36
|
Да, контрагенты выгрузились
В общем модуле ПроцедурыОбменаДаннымиПоОрганизации\процедура ДополнитьМассивУзловДляВыгрузкиСправочника изменяю на след.: Если ТипЭлемента = Тип("СправочникОбъект.БанковскиеСчета") ИЛИ ТипЭлемента = Тип("СправочникСсылка.БанковскиеСчета") Тогда // нужно определить владельца // если владелец не организация, тогда регистрируем изменения для всех узлов, // если организация, то только для тех узлов куда организация передается Владелец = ПолучитьЗначениеПараметраОбъектаИлиСсылки(Элемент, "Справочники", ТипЭлемента, "Владелец"); Если ТипЗнч(Владелец) = Тип("СправочникСсылка.Организации") Тогда // только узлы с указанной организацией ДополнитьМассивУзламиПоОрганизации(МассивУзловДляПередачи, Владелец, СоответствиеУзловИОрганизаций); // {КОРП // обеспечивается выгрузка для всех. СсылкаНаГоловнуюОрганизация = Владелец; Если ЗначениеЗаполнено(СсылкаНаГоловнуюОрганизация) Тогда ДополнитьМассивПодчиненнымиОрганизациями(СсылкаНаГоловнуюОрганизация, МассивУзловДляПередачи, СоответствиеУзловИОрганизаций); КонецЕсли; // }КОРП ИначеЕсли ТипЗнч(Владелец) = Тип("СправочникСсылка.Контрагенты") Тогда // ДополнитьМассивУзламиПоСправочникуИПараметру("ДоговорыКонтрагентов", "Владелец", // Владелец, МассивУзловДляПередачи, "Организация", СоответствиеУзловИОрганизаций, Истина); // //Иначе // все узлы ОбеспечитьВыгрузкуОбъектаДляВсехУзлов(ВыгружатьДляВсехУзлов, ВозвращатьМассивВсехУзлов, МассивУзловДляПередачи); КонецЕсли; ИначеЕсли |
|||
12
GalanEvgeny
13.02.13
✎
12:37
|
закомментировал, сделал новый тестовый образ - выгрузились только банковские счета контрагентов и организации которая указана для обиена, для 2-ой организации банковский счет остался на месте - так и надо было
// ДополнитьМассивУзламиПоСправочникуИПараметру("ДоговорыКонтрагентов", "Владелец", // Владелец, МассивУзловДляПередачи, "Организация", СоответствиеУзловИОрганизаций, Истина); // //Иначе // все узлы |
|||
13
Aleksey
13.02.13
✎
12:39
|
(12) попа будет
|
|||
14
Aleksey
13.02.13
✎
12:39
|
владелец есть у договора, соответственно будет выгружаться ВСЕ договора, но организаций там нет
|
|||
15
GalanEvgeny
13.02.13
✎
12:48
|
Для договоров контрагентов есть своя вилка в той же процедуре
ИначеЕсли ТипЭлемента = Тип("СправочникОбъект.ДоговорыКонтрагентов") ИЛИ ТипЭлемента = Тип("СправочникСсылка.ДоговорыКонтрагентов") Тогда СтруктураПараметров = Новый Структура("ЭтоГруппа, Организация", Ложь, Справочники.Организации.ПустаяСсылка()); ЗаполнитьСтруктуруПараметровПоЭлементу(Элемент, "Справочники", ТипЭлемента, СтруктураПараметров); Если СтруктураПараметров.ЭтоГруппа Тогда // все узлы ОбеспечитьВыгрузкуОбъектаДляВсехУзлов(ВыгружатьДляВсехУзлов, ВозвращатьМассивВсехУзлов, МассивУзловДляПередачи); Иначе ДополнитьМассивУзламиПоОрганизации(МассивУзловДляПередачи, СтруктураПараметров.Организация, СоответствиеУзловИОрганизаций); ДополнитьМассивПодчиненнымиОрганизациями(СтруктураПараметров.Организация, МассивУзловДляПередачи, СоответствиеУзловИОрганизаций); КонецЕсли; ИначеЕсли |
|||
16
lion11
13.02.13
✎
12:57
|
Вот и я о чем - нужен договор. Можно было создать Договор, и перезаписать Контрагента и его банковский счет. И все бы пошло без изменения конф.
|
|||
17
GalanEvgeny
13.02.13
✎
12:59
|
Процедура ДополнитьМассивУзламиПоСправочникуИПараметру(ИмяСправочника, ИмяРеквизита,
СсылкаНаСправочник, МассивУзловДляПередачи, ИмяРеквизитаОрганизации = "Организация", СоответствиеУзловИОрганизаций = Неопределено, ДополнятьПодчиненными = Ложь) Если СсылкаНаСправочник.Пустая() Тогда Возврат; КонецЕсли; РезультатЗапроса = ПолныеПрава.ПолучитьРезультатЗапросаПоВыборкеОрганизаций(ИмяСправочника, ИмяРеквизита, ИмяРеквизитаОрганизации, СсылкаНаСправочник); Если РезультатЗапроса.Пустой() Тогда ДополнитьМассивУзламиПоОрганизации(МассивУзловДляПередачи, Справочники.Организации.ПустаяСсылка(), СоответствиеУзловИОрганизаций); Иначе МассивОрганизаций = РезультатЗапроса.Выгрузить().ВыгрузитьКолонку("Организация"); ДополнитьМассивУзламиПоОрганизации(МассивУзловДляПередачи, МассивОрганизаций, СоответствиеУзловИОрганизаций); Если ДополнятьПодчиненными Тогда ДополнитьМассивПодчиненнымиОрганизациями(МассивОрганизаций, МассивУзловДляПередачи, СоответствиеУзловИОрганизаций); КонецЕсли; Конецесли; КонецПроцедуры ПолучитьРезультатЗапросаПоВыборкеОрганизаций(ИмяСправочника, ИмяРеквизита, ИмяРеквизитаОрганизации, СсылкаНаСправочник) Экспорт Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ Различные | Спр.Владелец КАК Организация |ИЗ | Справочник.ДоговорыКонтрагентов КАК Спр |ГДЕ | Спр.Владелец = &СсылкаНаЭлемент"; Запрос.УстановитьПараметр("СсылкаНаЭлемент", СсылкаНаСправочник); Возврат Запрос.Выполнить(); КонецФункции ункция ПолучитьРезультатЗапросаПоВыборкеОрганизаций(ИмяСправочника, ИмяРеквизита, ИмяРеквизитаОрганизации, СсылкаНаСправочник) Экспорт Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ Различные | Спр." + ИмяРеквизитаОрганизации + " КАК Организация |ИЗ | Справочник." + ИмяСправочника + " КАК Спр |ГДЕ | Спр." + ИмяРеквизита + " = &СсылкаНаЭлемент"; Запрос.УстановитьПараметр("СсылкаНаЭлемент", СсылкаНаСправочник); Возврат Запрос.Выполнить(); КонецФункции |
|||
18
GalanEvgeny
13.02.13
✎
12:59
|
Процедура ДополнитьМассивУзламиПоСправочникуИПараметру(ИмяСправочника, ИмяРеквизита,
СсылкаНаСправочник, МассивУзловДляПередачи, ИмяРеквизитаОрганизации = "Организация", СоответствиеУзловИОрганизаций = Неопределено, ДополнятьПодчиненными = Ложь) Если СсылкаНаСправочник.Пустая() Тогда Возврат; КонецЕсли; РезультатЗапроса = ПолныеПрава.ПолучитьРезультатЗапросаПоВыборкеОрганизаций(ИмяСправочника, ИмяРеквизита, ИмяРеквизитаОрганизации, СсылкаНаСправочник); Если РезультатЗапроса.Пустой() Тогда ДополнитьМассивУзламиПоОрганизации(МассивУзловДляПередачи, Справочники.Организации.ПустаяСсылка(), СоответствиеУзловИОрганизаций); Иначе МассивОрганизаций = РезультатЗапроса.Выгрузить().ВыгрузитьКолонку("Организация"); ДополнитьМассивУзламиПоОрганизации(МассивУзловДляПередачи, МассивОрганизаций, СоответствиеУзловИОрганизаций); Если ДополнятьПодчиненными Тогда ДополнитьМассивПодчиненнымиОрганизациями(МассивОрганизаций, МассивУзловДляПередачи, СоответствиеУзловИОрганизаций); КонецЕсли; Конецесли; КонецПроцедуры Функция ПолучитьРезультатЗапросаПоВыборкеОрганизаций(ИмяСправочника, ИмяРеквизита, ИмяРеквизитаОрганизации, СсылкаНаСправочник) Экспорт Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ Различные | Спр." + ИмяРеквизитаОрганизации + " КАК Организация |ИЗ | Справочник." + ИмяСправочника + " КАК Спр |ГДЕ | Спр." + ИмяРеквизита + " = &СсылкаНаЭлемент"; Запрос.УстановитьПараметр("СсылкаНаЭлемент", СсылкаНаСправочник); Возврат Запрос.Выполнить(); КонецФункции |
|||
19
GalanEvgeny
13.02.13
✎
13:03
|
Подставлю аргументы для запроса в функции ПолучитьРезультатЗапросаПоВыборкеОрганизаций
Поролучится следующее: Запрос.Текст = "ВЫБРАТЬ Различные | Спр.Организация КАК Организация |ИЗ | Справочник.ДоговорыКонтрагентов КАК Спр |ГДЕ | Спр.Владелец = &СсылкаНаЭлемент"; Запрос.УстановитьПараметр("СсылкаНаЭлемент", СсылкаНаСправочник); |
|||
20
GalanEvgeny
13.02.13
✎
13:03
|
т.е. банковские счета взялись только для тех организации у которых есть с ними договор
|
|||
21
GalanEvgeny
13.02.13
✎
13:04
|
с ними = той организации для которой сделан образ
|
|||
22
GalanEvgeny
13.02.13
✎
13:28
|
(16) Это не правильно т.к. и для последующих банковских счетов нужно создавать для этого контрагента мнимый договор.
Но все-равно большое спасибо :) |
|||
23
GalanEvgeny
13.02.13
✎
13:29
|
(10) Контрагенты выгрузились - по ним правило было изменено
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |