|
Предопределенные значения при обмене Торговля-Бухгалтерия | ☑ | ||
---|---|---|---|---|
0
impulse9
08.11.12
✎
13:56
|
Добрый день!
Из сильно переписанной Ут 10.2 надо выгружать в БП 2.0 несколько документов по товародвижению. Наваял план обмена в КД, все передается нормально, но возник вопрос - как в плане обмена предопределить счета учета (ведь в УТ их нет). Например, документ "Отчет о розничных продажах", в БП в табличной части Товары есть элементы Счет учета, Счет доходов, Счет расходов. Туда нужно подставлять значения по условию (продан товар или дисконтная карта). Подскажите, в каком месте мне прописать это условие? |
|||
1
yuch
08.11.12
✎
14:02
|
В поле ПриВыгрузке пишем.
Если Что-то там Тогда Значение = "НеобходимыйСчет" или "КодСчета" Иначе Значение = "НеобходимыйСчет" или "КодСчета" КонецЕсли |
|||
2
impulse9
08.11.12
✎
14:05
|
Подставил, не проходит. Мне кажется, где-то еще надо преобразовывать Текст типа "41.02" в Счет из Плана Счетов приемника. Вот только где? )
|
|||
3
yuch
08.11.12
✎
14:23
|
Есть два варианта.
В правилах обмена ПланаСчетов поковыряйся. Либо же в ПриЗагрузке документа обрабатывай передаваемую строку. |
|||
4
Serdolik55
08.11.12
✎
15:53
|
Если счета известны, то самое простое в обработчике "ПослеЗагрузки" написать:
Для Каждого Стр Из Объект.Товары Цикл Стр.СчетУчета = ПланыСчетов.Хозрасчетный.НаименованиеСчета; КонецЦикла; |
|||
5
impulse9
09.11.12
✎
04:14
|
yuch, Serdolik55, спасибо за ответы!
|
|||
6
cw014
09.11.12
✎
07:59
|
Я бы сделал через:
Значение = "ТоварыНаСкладах"; Только текст должен соответствовать идентификатору предопределенного элемента плана счетов |
|||
7
impulse9
09.11.12
✎
08:26
|
Сделал так:
При выгрузке написал: Значение = ""; После загрузки: Для Каждого Стр Из Объект.Товары Цикл Стр.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.02"); Стр.СчетУчетаНДСПоРеализации = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.03"); Стр.СчетДоходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.2"); Стр.СчетРасходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.2"); КонецЦикла; Все заработало, спасибо за помощь. Возник еще один вопрос, с удалением ненужных данных при загрузке. В том же документе "отчет о розничных продажах" есть табличная часть "Виды оплат", и в БП надо выгружать все данные (карты, кредиты, подарочные сертификаты), кроме Наличных. Написал после загрузки: Для Каждого Стр Из Объект.Оплата Цикл Если Лев(Стр.ВидОплаты,8)="Наличные" Тогда Стр.Удалить(); Иначе Стр.СчетУчетаРасчетов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62"); КонецЕсли; КонецЦикла; но загрузка ругается на Удалить(), так как надо подставить индекс. А где его взять? ) |
|||
8
impulse9
09.11.12
✎
08:43
|
Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1561)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта
ИмяПКО = ОтчетОРозничныхПродажах ТипОбъекта = Отчет о розничных продажах Объект = Отчет о розничных продажах g0000003 от 05.01.2010 18:46:18 Обработчик = ПослеЗагрузкиОбъекта ОписаниеОшибки = Метод объекта не обнаружен (Удалить) ПозицияМодуля = (11) КодСообщения = 21 |
|||
9
impulse9
09.11.12
✎
08:46
|
Разобрался, может кому полезно будет.
Если делать: Для Каждого Стр Из Объект.Оплата Цикл Стр.Удалить(); КонецЦикла; то работать не будет так как Стр - это ссылка. Надо делать: Для Каждого Стр Из Объект.Оплата Цикл Объект.Оплата.Удалить(); КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |