|
Обмен УТ в БП через правила обмена | ☑ | ||
---|---|---|---|---|
0
Avily
18.12.12
✎
09:09
|
Добрый день. Необходимо подправить обмен. Он выполняется по правилам, созданным в конфигурации Конвертация.
При создании номенклатуры нужно чтобы в регистр сведений Счета Учета Номенклатуры писался счет учета (Счет учета передаю из УТ в параметр). Написала в процедуре После загрузке Номенклатуры : Если не ПустаяСтрока(ПараметрыОбъекта["СчетУчетаПараметр"]) тогда НоваяЗапись = РегистрыСведений.СчетаУчетаНоменклатуры.СоздатьНаборЗаписей(); НоваяЗапись.Прочитать(); НовСтр=НоваяЗапись.Добавить() ; НовСтр.Номенклатура =Объект. ссылка; НовСтр.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду(ПараметрыОбъекта["СчетУчетаПараметр"]); НовСтр.СчетУчетаНДСПоПриобретеннымЦенностям = ПланыСчетов.Хозрасчетный.НДСпоПриобретеннымМПЗ; НовСтр.СчетУчетаНДСПоРеализации = ПланыСчетов.Хозрасчетный.Продажи_НДС; НовСтр.СчетУчетаНДСУплаченногоНаТаможне = ПланыСчетов.Хозрасчетный.НДСуплачиваемыйТаможеннымОрганам; НовСтр.СчетУчетаПередачи = ПланыСчетов.Хозрасчетный.ПокупныеТоварыОтгруженные; НовСтр.СчетДоходовОтРеализации = ПланыСчетов.Хозрасчетный.ВыручкаНеЕНВД; НовСтр.СчетРасходовОтРеализации = ПланыСчетов.Хозрасчетный.ВыручкаЕНВД; МенеджерЗаписи = РегистрыСведений.СчетаУчетаНоменклатуры.СоздатьМенеджерЗаписи(); МенеджерЗаписи.Номенклатура=Объект.ссылка; Сообщить("Объект.ссылка "+ссылка ); МенеджерЗаписи.Прочитать(); Если МенеджерЗаписи.Выбран() Тогда МенеджерЗаписи.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду(ПараметрыОбъекта["СчетУчетаПараметр"]); МенеджерЗаписи.СчетУчетаНДСПоПриобретеннымЦенностям = ПланыСчетов.Хозрасчетный.НДСпоПриобретеннымМПЗ; МенеджерЗаписи.СчетУчетаНДСПоРеализации = ПланыСчетов.Хозрасчетный.Продажи_НДС; МенеджерЗаписи.СчетУчетаНДСУплаченногоНаТаможне = ПланыСчетов.Хозрасчетный.НДСуплачиваемыйТаможеннымОрганам; МенеджерЗаписи.СчетУчетаПередачи = ПланыСчетов.Хозрасчетный.ПокупныеТоварыОтгруженные; МенеджерЗаписи.СчетДоходовОтРеализации = ПланыСчетов.Хозрасчетный.ВыручкаНеЕНВД; МенеджерЗаписи.СчетРасходовОтРеализации = ПланыСчетов.Хозрасчетный.ВыручкаЕНВД; Сообщить("Зашел в Менеджер"); МенеджерЗаписи.Записать(); Иначе НоваяЗапись.Записать(); КонецЕсли; Иначе Сообщить("!Пустая!"); конецЕсли; Проблема в том, что новая запись в регистре не создается, потому что для новой номенклатуры еще нет Ссылки на объект (для уже имеющейся номенклатуры все отрабатывает). Нужно найти другой подход... Помогите плз. |
|||
1
Lokli
18.12.12
✎
09:13
|
Обработчик событий "После загрузки" не подойдёт? :)
|
|||
2
Lokli
18.12.12
✎
09:15
|
Сорри. :) Данный обработчик нужно смотреть в ПВД.
|
|||
3
Avily
18.12.12
✎
09:15
|
Нет. "Событие выполняется после прочтения и установки атрабутов объекта из файла, но до его записи в информационную базу."
Т.е . Номенклатура еще не записана в базу и у меня нет на нее ссылки. |
|||
4
Lokli
18.12.12
✎
09:17
|
Смотрим не ПКО, а ПВД.
|
|||
5
Lokli
18.12.12
✎
09:18
|
А значение счета учета номенклатуры от чего-то зависит или всегда одно?
|
|||
6
Avily
18.12.12
✎
09:18
|
Так мне же надо строчку регистра в БП создавать. Причем тут ПВД?
|
|||
7
Avily
18.12.12
✎
09:19
|
Оно хранится в УТ для каждой номенклатуры разное
|
|||
8
DrShad
18.12.12
✎
09:20
|
без фото не взлетит
|
|||
9
Lokli
18.12.12
✎
09:21
|
Понял.
Я бы сделал так: 1. Создаём ПКО "<какие-то данные> --> регистр сведений". 2. В ПКО номенклатуры, в событии После выгрузки в файл считываем данные по счету учета и вызываем правило из п.1. (ВыгрузитьПоПравилу(Выборка, , , , "СчетаУчета");) Всё! |
|||
10
Lokli
18.12.12
✎
09:23
|
+(9)
"После выгрузки в файл" Событие выполняется после выгрузки объекта в файл обмена. Может быть использован для выгрузки дополнительной информации по выгруженному объекту в файл обмена. При этом информация будет записана в файл обмена после выгруженного объекта. |
|||
11
DrShad
18.12.12
✎
09:23
|
(9) попробуй, может и получится :)))
|
|||
12
Lokli
18.12.12
✎
09:25
|
(11) я так выгружаю регистры сведений по физ.лицам (паспортные данные, пол и пр.) из одной ЗУП в другую.
Ну да, придётся потрудиться над правилом выгрузки регистра сведений. Но работать будет. |
|||
13
Avily
18.12.12
✎
09:26
|
Спасибо, сейчас буду пробовать
|
|||
14
Avily
18.12.12
✎
09:27
|
Только я не поняла
2. В ПКО номенклатуры, в событии После выгрузки в файл считываем данные по счету учета и вызываем правило из п.1. (ВыгрузитьПоПравилу(Выборка, , , , "СчетаУчета");) - Тут же тоже еще нет Ссылки на созданную Номенклатуру |
|||
15
DrShad
18.12.12
✎
09:28
|
(12) только ты забыл добавить что при этом выгруженную номенклатуру нужно запомнить, чтоб по ней потом собрать регистр, а не всю тянуть
|
|||
16
Lokli
18.12.12
✎
09:30
|
(14) В базе выгрузки ссылка уже есть! А в базе загрузки данных ссылка появится, т.к. номенклатура уже будет записана в базу.
(15) Не понял, поясни что и где нужно запоминать? |
|||
17
Avily
18.12.12
✎
09:32
|
В какой момент номенклатура запишется в базу?
|
|||
18
DrShad
18.12.12
✎
09:33
|
(16) при выгрузке номенклатуры, ссылки на нее нужно будет запихнуть в массив в Параметрах
|
|||
19
Avily
18.12.12
✎
09:34
|
Так мне нужна ссылка на номенклатуру в БП, а она не появится, пока не создастся... или я что-то очень сильно не понимаю)
|
|||
20
Lokli
18.12.12
✎
09:37
|
(18) Не нужно.
(19) Ссылка на номенклатуру в БП не нужна. Объяснять почему и как - не буду, т.к. долго и нудно. Почитай примеры и помощь по обработчикам в конвертации. |
|||
21
Lokli
18.12.12
✎
09:39
|
+(19) советую найти книжку по конвертации и посмотреть курсы Насипова Фарита по этой же теме. Там они очень подробно всё рассказывают.
|
|||
22
Lokli
18.12.12
✎
09:46
|
+(19) И есть еще диск ИТС, на котором так же лежат методические материалы по конвертации.
|
|||
23
DrShad
18.12.12
✎
10:05
|
(20) что не нужно? т.е. ты предлагаешь в обмене тянуть регистр по всей номенклатуре каждый раз?
|
|||
24
Lokli
18.12.12
✎
10:12
|
(23) Я предлагаю в ПКО "Номенклатура", в обработчике "После выгрузки в файл" считывать информацию о счете учета номенклатуры из базы УТ и на основании полученных данных формировать одну запись в регистр сведений в базе БП.
Для чего нужно что-то передавать в параметры я не знаю. |
|||
25
m-serg74
18.12.12
✎
10:18
|
(19) может это пригодится:
|
|||
26
Lokli
18.12.12
✎
10:33
|
(25) Не пригодится.
|
|||
27
m-serg74
18.12.12
✎
10:34
|
(26) - (25) вроде не тебе было?
|
|||
28
Lokli
18.12.12
✎
10:38
|
(27) Тогда напиши, как в контексте переноса данных с помощью конвертации может пригодиться данный метод?
|
|||
29
m-serg74
18.12.12
✎
10:40
|
(28) [Позволяет для нового (созданного и еще не записанного) объекта.....]
|
|||
30
Lokli
18.12.12
✎
10:43
|
(29) Куда этот метод надо вставить, где использовать? Цитировать СП и я могу. :))
|
|||
31
m-serg74
18.12.12
✎
10:43
|
(28) а почему при выгрузке Номенклатуры ТС не желает выгрузить по правилу нужные записи в РС, мне не ведомо
|
|||
32
m-serg74
18.12.12
✎
10:45
|
(30)
(25) всего лишь ответ на (19) а зачем ТСу это, это не к мну вопрос |
|||
33
DrShad
18.12.12
✎
10:56
|
(32) а в (19) разве вопрос был о том что ты в (25) написал?
|
|||
34
m-serg74
18.12.12
✎
10:57
|
(33)
[Так мне нужна ссылка на номенклатуру в БП, а она не появится, пока не создастся] а что сие означает? |
|||
35
DrShad
18.12.12
✎
10:59
|
(34) в общем с тобой все ясно - выдернул фразу из контекста, газифицировал лужу и теперь рассматриваешь как круги расходятся :)))
|
|||
36
m-serg74
18.12.12
✎
10:59
|
(35) с тобой тоже
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |