Текущее время: Вс, июл 27 2025, 02:50

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Ahrefs [Bot]


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

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