powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Почему округляются значения полей ?
6 сообщений из 6, страница 1 из 1
Почему округляются значения полей ?
    #34148446
megaline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для копирования полей из одной таблицы в другую,
я использую REPLACE, но конечные значения округляются.
При том формат полей у обоих таблиц совпадает.
Подскажите пожалуйста, как это можно исправить.
Заранее благодарен.
...
Рейтинг: 0 / 0
Почему округляются значения полей ?
    #34148454
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала смотреть какой SET DECIMAL
А ваще информации явно не хватает - какой формат полей?
...
Рейтинг: 0 / 0
Почему округляются значения полей ?
    #34148496
megaline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BurnДля начала смотреть какой SET DECIMAL
А ваще информации явно не хватает - какой формат полей?

Не формат а тип, ...запарился :-)
Все поля в таблицах Numeric ( 12, 2 )
...
Рейтинг: 0 / 0
Почему округляются значения полей ?
    #34148503
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай пример кода копирования. При таком формате полей по умолчанию ничего округляться не должно.

На всякий случай, что возвращают настройки

Код: plaintext
1.
2.
?SET("FIXED")
?SET("DECIMALS")

Как была заполнена исходная таблица? В ней точно данные БЕЗ округления? Причем не в окне BROWSE, а при прямом чтении значения полей командой вроде

Код: plaintext
?MyTable.MyField

Или если в окне BROWSE встать на соответсвующую ячейку? При определенных способах формирования и заполнения таблицы, могут быть глюки: отображается одно, но читается другое.
...
Рейтинг: 0 / 0
Почему округляются значения полей ?
    #34148510
megaline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
// === пример кода ====

PROCEDURE face_user

LOCAL NameStreet
LOCAL NumHouse
LOCAL NumApartament

NameStreet = ALLTRIM( улица )
NumHouse = дом
NumApartament = квартира

LOCAL ARRAY lsl[12] as Integer && массив содержит входящие сальдо на нач.
&& следующего месяца

CLOSE TABLES && закрыть все таблицы

IF !FILE( ALLTRIM( STR ( BaseName - 1 ) ) + "\декабрь.dbf" )
lsl[1] = 0.0
ELSE
USE DataDir + ALLTRIM( STR( BaseName - 1 ) ) + "\декабрь.dbf"
AbonentSeek( NameStreet, NumHouse, NumApartament )
lsl[1] = ЛастСальдо
CLOSE TABLES
ENDIF

FOR i = 1 TO MONTH( DATE() )
USE DataDir + ALLTRIM( STR( BaseName ) )+ "\" + m( i ) + ".dbf"
AbonentSeek( NameStreet, NumHouse, NumApartament )
lsl[i + 1] = ЛастСальдо
ENDFOR

CLOSE TABLES

CREATE TABLE "data\faseuser.dbf" ;
( in_saldo N ( 12, 2 ), ;
nach N ( 12, 2 ), ;
k_oplate N ( 12, 2 ), ;
korr N ( 12, 2 ), ;
schet_441 N ( 12, 2 ), ;
schet_451 N ( 12, 2 ), ;
schet_334 N ( 12, 2 ), ;
schet_681 N ( 12, 2 ), ;
saldo N ( 12, 2 ))


* ----- отладка массива -----
*FOR i = 1 TO 12
* MESSAGEBOX( lsl )
*ENDFOR

*MESSAGEBOX( ALIAS() )

FOR i = 1 TO MONTH( DATE() )
USE DataDir + ALLTRIM( STR( BaseName ) ) + "\" + m( i ) + ".dbf" ALIAS alias_t IN 2
SELECT FASEUSER
APPEND BLANK
REPLACE in_saldo WITH lsl( i )
REPLACE nach WITH alias_t.начислено
REPLACE k_oplate WITH alias_t.к_оплате
REPLACE korr WITH alias_t.коррекция
ENDFOR

CLOSE TABLES
...
Рейтинг: 0 / 0
Почему округляются значения полей ?
    #34148518
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверь исходные данные. Не таблицу faseuser.dbf, а те таблицы ИЗ которых копируешь. Сам процесс копирования никакого "криминала" не содержит. А вот вопрос заполнения исходных таблиц - непонятен.

Может, у исходных таблиц друга размерность. Может, в процессе расчета сальдо происходит округление.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Почему округляются значения полей ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]