Текущее время: Ср, июл 23 2025, 09:41

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


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

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


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

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