Текущее время: Чт, июл 24 2025, 02:12

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




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Замещение значений в полях
СообщениеДобавлено: Вт, авг 16 2005, 14:12 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пт, июл 08 2005, 13:07
Сообщения: 5274
Откуда: Geneva
Пол: Мужской
Версия ERP-2004.
1. В одной из позиций FI-документа заполнено некоторое поле (допустим, BSEG-FKBER_LONG). Надо каким-либо образом при вводе документа скопировать значение этого поля во все остальные позиции этого же документа.
2. Ситуация аналогичная, но в процессе выравнивания значение этого же поля нужно достать из выравниваемого документа и записать в текущий документ (документ выравнивания).

Пытался сделать это через OpenFI 1025, но система перед вызовом функц.модуля запоминает все передаваемые таблицы в локальных переменных, а после завершения модуля восстанавливает их оттуда. Т.е. менять таблицы непосредственно в модуле нет никакого смысла.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 16 2005, 14:58 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, авг 26 2004, 05:04
Сообщения: 922
Откуда: Челябинск
Пол: Мужской
Попробуй в Open Fi через Field-symbols

_________________
Все будет хорошо...
http://sap-blog.ru/


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Замещение значений в полях
СообщениеДобавлено: Вт, авг 16 2005, 15:50 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вс, окт 17 2004, 11:34
Сообщения: 1552
Пол: Мужской
darkduck написал:
Версия ERP-2004.
1. В одной из позиций FI-документа заполнено некоторое поле (допустим, BSEG-FKBER_LONG). Надо каким-либо образом при вводе документа скопировать значение этого поля во все остальные позиции этого же документа.
2. Ситуация аналогичная, но в процессе выравнивания значение этого же поля нужно достать из выравниваемого документа и записать в текущий документ (документ выравнивания).

Пытался сделать это через OpenFI 1025, но система перед вызовом функц.модуля запоминает все передаваемые таблицы в локальных переменных, а после завершения модуля восстанавливает их оттуда. Т.е. менять таблицы непосредственно в модуле нет никакого смысла.


Сама идея, зачем оно надо, конечно интересна, но на первый взгляд все просто:
1. Проверяешь в таблице GB01, не закрыто ли поле ZSEDLO или как его там, от замещений. Если закрыто, знаешь что делать.
2. Втыкаешь на третий момент замещение с юзер-экзитом. Если конечно в ERP-2004 замещения не заменили на что-нибудь более другое. Если заменили, то ищи как юзать новый тул.
3. В экзите читаешь нужное поле в нужной позиции, считываешь его во временную переменную. Если у тебя случай с выравниванием, поищи по критериям выравнивания номер документа и позиции, прочитай оттуда значение BSEG-ZSEDLO в переменную. Потом циклом по BUZEI апдейтишь это самое поле значением этой переменной.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 16 2005, 16:39 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пт, июл 08 2005, 13:07
Сообщения: 5274
Откуда: Geneva
Пол: Мужской
artyom написал:
Попробуй в Open Fi через Field-symbols


Это как? :?:

2Sedlo: ты мне предлагаешь систему ломать? :shock:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 17 2005, 08:17 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вс, окт 17 2004, 11:34
Сообщения: 1552
Пол: Мужской
darkduck написал:
artyom написал:
Попробуй в Open Fi через Field-symbols


Это как? :?:

2Sedlo: ты мне предлагаешь систему ломать? :shock:


нет, написать обычное замещение на третий момент, которое ищет что писать либо в этом, либо в выравниваемом документе и заполняет этим самым нужное тебе поле.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 17 2005, 08:35 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пт, июл 08 2005, 13:07
Сообщения: 5274
Откуда: Geneva
Пол: Мужской
Sedlo написал:

2Sedlo: ты мне предлагаешь систему ломать? :shock:


нет, написать обычное замещение на третий момент, которое ищет что писать либо в этом, либо в выравниваемом документе и заполняет этим самым нужное тебе поле.[/quote]

Таблица GB01 - не ведущаяся, системная. Любое изменение в ней - модификация. По умолчанию для 3го момента все поля документа закрыты.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 17 2005, 10:46 
Специалист
Специалист

Зарегистрирован:
Ср, авг 18 2004, 08:32
Сообщения: 145
darkduck написал:
Таблица GB01 - не ведущаяся, системная. Любое изменение в ней - модификация. По умолчанию для 3го момента все поля документа закрыты.


Наши базисника открыли таблицу для ведения и мы по мере необходимости добавляем поля для замещения.
Только как я поняла, изменять в момент 3 можно не все поля, даже если их указать в таблице. К примеру заместить МВЗ в момент 3 у нас не получилось.

_________________
Nataly


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 18 2005, 08:56 
Гость
Это не модификация. Такое решение предложено САП. См.Нота 42615


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 18 2005, 11:07 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пт, июл 08 2005, 13:07
Сообщения: 5274
Откуда: Geneva
Пол: Мужской
Anonymous написал(а):
Это не модификация. Такое решение предложено САП. См.Нота 42615


В этой ноте английским по белому написано:
Цитата:
Formally, this is a modification.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Замещение значений в полях
СообщениеДобавлено: Вт, авг 23 2005, 13:37 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, сен 22 2004, 15:57
Сообщения: 107
Sedlo написал:
3. В экзите читаешь нужное поле в нужной позиции, считываешь его во временную переменную. Если у тебя случай с выравниванием, поищи по критериям выравнивания номер документа и позиции, прочитай оттуда значение BSEG-ZSEDLO в переменную. Потом циклом по BUZEI апдейтишь это самое поле значением этой переменной.



А по каким критериям? Номеров документов и документов выравнивания ещё нет на этом этапе.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Замещение значений в полях
СообщениеДобавлено: Вт, авг 23 2005, 16:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вс, окт 17 2004, 11:34
Сообщения: 1552
Пол: Мужской
Alic написал(а):
Sedlo написал:
3. В экзите читаешь нужное поле в нужной позиции, считываешь его во временную переменную. Если у тебя случай с выравниванием, поищи по критериям выравнивания номер документа и позиции, прочитай оттуда значение BSEG-ZSEDLO в переменную. Потом циклом по BUZEI апдейтишь это самое поле значением этой переменной.



А по каким критериям? Номеров документов и документов выравнивания ещё нет на этом этапе.


Это у документа, который ты постишь, пока еще нет номера. А у позиции, которая выравнивается этим документом, номер документа есть. И оттуда надо достать значение, которым надо заполнить эти поля в документе, проводимом сейчас. В этом вся работа и есть, правильно описать, как найти эту позицию. Причем на самом деле вариант с третьим моментом не единственно возможный. Например, возможен такой вариант:
1. Определяется перечень критериев, в каких случаях заполняется поле этим самым хитровыдуманным способом. Иногда все может быть довольно просто. Например, если используется специально выделенный вид документа, то этого достаточно для указания в качестве условия, а замещение можно вешать на второй момент.
2. По критериям выравнивания хоть на первом моменте, хоть на каком, но с достаточным количеством ключей (для хорошей поизводительности) находится выравниваемая позиция и в ней значение искомого поля
3. На втором моменте выполняется замещение

Насколько я понял, данные из этого поля после проводки попадают куда-то в таблицу итоговых записей, поэтому изменять значение нужно очень аккуратно, а то данные позиций расползутся с таблицей итогов.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

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


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

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


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

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