Текущее время: Вт, май 13 2025, 14:09

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по исходящим поставкам - сюда



Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Как вытащить дополн.данные создаваемой фактуры в момент создания фактуры
СообщениеДобавлено: Чт, апр 17 2008, 10:07 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
При сохранении счет-фактуры создается в SD счет-фактура (есть таблицы VBRK, VBRP где хранятся заголовок, позиции), а также, соответствующий FI-документ в модуле FI (таблицы BKPF, BSEG). При создании FI-документа в ФМ обрабатываю тексты позиции документа-туда хочу подтянуть №договора. А для этого в BKPF есть поле ссылки куда попадает номер счет-фактуры. А в таблице VBRP где хранятся позиции счет-фактуры есть ссылка на заказ, а по этому номеру заказа далее можно вытащить и номер договора. Но!
В ФМ когда обрабатываем позиции создаваемого FI-документа при попытке выбрать номер заказа по номеру счет-фактуры (который также создается на данный момент) запрос не выдает данных, так как, по моему мнению, на тот момент не создался и счет-фактура. Интересно, какой документ создается первым? Сам счет-фактура или FI-документ. Если сначала счет-фактура, то при выборке из таблицы по номеру которого получили из заглолвка FI-документа должны были выбранные данные, а их нет. Если сначала FI-Документ, то откуда там появляется ссылка на номер счет-фактуры? Цикл какой-то получается... Приходят разные мысли.. На данный момент думаю так:
при сохранении фактуры где-то в промежуточной структуре хранится номер создаваемой фактуры, далее создается FI-документ-туда ставится этот номер фактуры как ссылка, далее фактура со своими заголовком и позициями сохранятся в своих таблицах...
Верно ли я рассуждаю? Кто-нибудь сталкивался подобными вещами?
Откуда можно вытащить доп.данные фактуры при создании FI-документа? Спасибо заранее!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 17 2008, 10:45 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Пн, сен 03 2007, 13:20
Сообщения: 1658
Откуда: Пермь, Москва
Пол: Мужской
А договора это у вас контракты SD или они у вас как то по другому организованы?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить дополн.данные создаваемой фактуры в момент создания фактуры
СообщениеДобавлено: Чт, апр 17 2008, 10:57 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, авг 17 2004, 10:13
Сообщения: 382
Пол: Мужской
Karmen написал(а):
При сохранении счет-фактуры создается в SD счет-фактура (есть таблицы VBRK, VBRP где хранятся заголовок, позиции), Откуда можно вытащить доп.данные фактуры при создании FI-документа?


Используйте вместо номера фактуры поле VBRP-VGBEL или VBRP-AUBEL


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 17 2008, 11:24 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
<А договора это у вас контракты SD или они у вас как то по другому организованы?>

да, т.е. контракты


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить дополн.данные создаваемой фактуры в момент создания фактуры
СообщениеДобавлено: Чт, апр 17 2008, 11:38 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
Александр написал:
Karmen написал(а):
При сохранении счет-фактуры создается в SD счет-фактура (есть таблицы VBRK, VBRP где хранятся заголовок, позиции), Откуда можно вытащить доп.данные фактуры при создании FI-документа?


Используйте вместо номера фактуры поле VBRP-VGBEL или VBRP-AUBEL


Я из BKPF-XBLNR беру номер фактуры, а потом этот номер ставлю в VBRP-VBELN и хочу вытащить VBRP-VGBEL, а получается на момент выборки такой записи нет в таблице (т.е. не важно, VGBEL, AUBEL, дело в том что вообще записи нет). А вот после сохранения фактуры, как только система выдаст сообщение "фактура создана", в таблице появляется запись..
Думаю, надо использовать другой ФМ... вот только надо найти его..


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 17 2008, 11:45 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Пн, сен 03 2007, 13:20
Сообщения: 1658
Откуда: Пермь, Москва
Пол: Мужской
А что если после сохранения FI документа (когда будет известен его номер, номер с/ф SD...) передавать в поле текст позиции документа FI номер договора? Если ч/з транзакцию fb02 это поле доступно, то значит можно ч/з ФМ редактировать бух. документ по определённому алгоритму


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 17 2008, 12:07 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Пн, сен 03 2007, 13:20
Сообщения: 1658
Откуда: Пермь, Москва
Пол: Мужской
Другой вариант: номер договора передавать в поле присвоение бух. документа, ч/з настройку вида фактуры SD. Туда можно, например, передавать настройкой из заказа поле VBKD-BSTKD, в которое предварительно при создании заказа надо будет засовывать номер контракта


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить дополн.данные создаваемой фактуры в момент создания фактуры
СообщениеДобавлено: Чт, апр 17 2008, 12:45 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 12:44
Сообщения: 305
Откуда: Жайрем -> Астана
Karmen написал(а):
Я из BKPF-XBLNR беру номер фактуры, а потом этот номер ставлю в VBRP-VBELN и хочу вытащить VBRP-VGBEL, а получается на момент выборки такой записи нет в таблице (т.е. не важно, VGBEL, AUBEL, дело в том что вообще записи нет). А вот после сохранения фактуры, как только система выдаст сообщение "фактура создана", в таблице появляется запись..
Думаю, надо использовать другой ФМ... вот только надо найти его..


а чем вам не нравится вариант Александра ?
используете расширения SDVFX004? в таком случае данные есть в параметре XVBRP у ФМ EXIT_SAPLV60B_004 :roll:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как вытащить дополн.данные создаваемой фактуры в момент создания фактуры
СообщениеДобавлено: Чт, апр 17 2008, 13:15 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
flipper написал(а):
Karmen написал(а):
Я из BKPF-XBLNR беру номер фактуры, а потом этот номер ставлю в VBRP-VBELN и хочу вытащить VBRP-VGBEL, а получается на момент выборки такой записи нет в таблице (т.е. не важно, VGBEL, AUBEL, дело в том что вообще записи нет). А вот после сохранения фактуры, как только система выдаст сообщение "фактура создана", в таблице появляется запись..
Думаю, надо использовать другой ФМ... вот только надо найти его..


а чем вам не нравится вариант Александра ?
используете расширения SDVFX004? в таком случае данные есть в параметре XVBRP у ФМ EXIT_SAPLV60B_004 :roll:


Так Александр предлагает брать значение из augbel, тогда как запись вообще не существует к тому моменту.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить дополн.данные создаваемой фактуры в момент создания фактуры
СообщениеДобавлено: Чт, апр 17 2008, 13:38 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, авг 17 2004, 10:13
Сообщения: 382
Пол: Мужской
Karmen написал(а):
flipper написал(а):
а чем вам не нравится вариант Александра ?
используете расширения SDVFX004? в таком случае данные есть в параметре XVBRP у ФМ EXIT_SAPLV60B_004 :roll:


Так Александр предлагает брать значение из augbel, тогда как запись вообще не существует к тому моменту.


Вам же подсказывают что в расширениях поля уже заполнены.
Для ваших целей вам подойдет SDVFX001 если вы хотите заполнить текст заголовка, если позиций, то указанное SDVFX004

Воспользуйтесь поиском, это уже обсуждалось!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить дополн.данные создаваемой фактуры в момент создания фактуры
СообщениеДобавлено: Чт, апр 17 2008, 14:49 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
Спасибо!
Я использую 1120 событие, т.е. соотв. ему ФМ.
сейчас ищу другие ФМ. Мне кажется, что счет-фактура создается до FI-документа, а мой ФМ срабатывает до создания сч.-ф.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вытащить дополн.данные создаваемой фактуры в момент создания фактуры
СообщениеДобавлено: Чт, апр 17 2008, 17:19 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Karmen написал(а):
Интересно, какой документ создается первым? Сам счет-фактура или FI-документ. Если сначала счет-фактура, то при выборке из таблицы по номеру которого получили из заглолвка FI-документа должны были выбранные данные, а их нет. Если сначала FI-Документ, то откуда там появляется ссылка на номер счет-фактуры? Цикл какой-то получается...


Фактура (SD) и accounting document (FI) в базу данных записываются в рамках одной транзакции. Иначе бы были такие приколы, что фактура почему-то не создалась, а accounting document - прошел (обратное, правда, разрешено, т.к. FI документ можно создать и позже).

Так вот, когда работает программа, которая создает фактуру, то она из соответствующей таблицы достает номер документа. Этот номер хранится в памяти (VBRK/VBRP или XVBRK/XVBRP). Т.е. в user exit'ах вам не нужно читать его из базы данных - он уже должен быть в какой-нибудь переменной (естественно, если код вызывается уже после того, как номер был получен, до того там будет какой-нибудь магический номер $0000001). Если по какой-то причине запись в базу не состоится, номер будет просто пропущен (хотя с этим вроде тоже можно бороться, не раз уже тут обсуждали).

Как уже правильно посоветовали, надо попробовать использовать поля VBRP-VGBEL, но не из базы данных, а из памяти. Если по какой-то причине нужные поля не доступны (это часто бывает, к сожалению), то можно попробовать их вытащить с помощью ASSIGN.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 18 2008, 07:30 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
Я это знал, а именно, что эти документы создаются одновременно - в рамках одной транзакции, а значение номера сч.-ф.-ры где-то в памяти находится, в какой-то внутренней таблице. Но на самом деле, в БД все равно один из этих документов создается первым и я подумал - а не отловить ли этот момент?? Думал с помощью OpenFI это сделать(в моем случае использовал ФМ события 1120., (или не тот ФМ исполльзую?)). Но, похоже, эти документы создаются "почти" одновременно, т.е. я имею в виду что сложно отловить этот момент, найти конструкцию которая позволила бы оказаться в этом промежутке...
Теперь, скорее всего, надо будет использовать user-exit где можно будет использовать значения из памяти..
Всем спасибо за участие и совет! ;-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 18 2008, 10:10 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, авг 17 2004, 10:13
Сообщения: 382
Пол: Мужской
Еще раз повторюсь используйте указанные расширения для этих целей (они как раз предназначены для передачи данных из SD в FI.
Транзакции SMOD CMOD


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 18 2008, 11:57 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
Александр написал:
Еще раз повторюсь используйте указанные расширения для этих целей (они как раз предназначены для передачи данных из SD в FI.
Транзакции SMOD CMOD

Спасибо! :) :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB