powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Бухгалтерия проводки и счета
25 сообщений из 102, страница 4 из 5
Бухгалтерия проводки и счета
    #38907712
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
caballeroxenixпропущено...

мне всегда казалось, что в этом сила - можно блокировать явно кривые проводки, навроде, что физ.лицо гасит межбанковский кредит
кривые данные надо блокировать их проверкой на кривость, независимо от того какие там счета и проводки. Это задача програмной бизнес логики а не способа организации даных в хранилище
Проводки для баланса это как констрейнты для бд !!!! Конечно можно их отключить, и программной логикой целостность контролировать, даже может и быстрее работать где-то будет. Только с опытом приходит мысль, что "не гонялся бы ты поп за дешивизной"
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38907713
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38907752
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xenixа можно для любопытствующего пояснить, в чем выгода полупроводок по сравнению с проводками?
Проще программный код, соответственно, в нём меньше ошибок. SQL-запросы без постоянных OR/UNION-условий, лучше оптимизируются и быстрее выполняются. Ну и, наконец, "несимметричные" входы-выходы типа той схемы с тремя полупроводками, которую описал Кабальеро.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38907758
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А)
softwarerПроще программный код
Да

Б)
softwarerSQL-запросы без постоянных OR/UNION-условий, лучше оптимизируются и быстрее выполняются.
Да


НО

softwarer соответственно, в нём меньше ошибок.

Никак не соответственно.


softwarer Ну и, наконец, "несимметричные" входы-выходы типа той схемы с тремя полупроводками, которую описал Кабальеро.
Сами по себе, за рамками А) и Б), в этом месте никакой дополнительной привлекательности полупроводки не несут.
Но точно являются обстоятельством, усложняющим схему поддержки балансового уравнения. (если речь идет о бух. учете).
А в случаях, когда ввод полупроводок проводится в "журнальном" режиме - т.е. независимыми вручную вводимыми записями
в "журнал учета операций по счету" - в отдельном окне журнала по поставщику, окне журнала по складу и окне журнала по НДС - прямым источником ошибок учета.
Не говоря уже о вводе висящей полупроводки в журнал по кассе с забытой навсегда второй стороной.

Но есть и правда другой стороны. Даже при наличии полнопроводочной записи и хранении, люди периодически умудряются так нарисовать свои программы, что балансовое уравнение все равно не сходится.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908017
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobysoftwarer соответственно, в нём меньше ошибок.
Никак не соответственно.
"Проще - значит надёжнее" - это эмпирическое правило, многократно подтверждённое всей инженерной наукой. Конечно, люди иногда и лом ухитряются с ошибками спроектировать, но тем не менее разница налицо.

boobyСами по себе, за рамками А) и Б), в этом месте никакой дополнительной привлекательности полупроводки не несут.
Я бы так не сказал. Полупроводки позволяют описывать действия естественным образом, в стиле "беру деньги в руку и раздаю". Разница здесь... примерно как между современными супермаркетами, где ты приходишь на кассу и пробиваешь чек, и магазинами моего детства, где надо было отстоять в кассу и сказать "пробейте тридцать копеек в молочный, рубль двадцать в колбасный и девяносто две в бакалею", получить три чека и каждый поотдельности отоварить. Если же мы выходим за рамки бухгалтерии и аналогично строим учёт товаров, то полупроводки позволяют гораздо удобнее и естественнее описать всякие комплектации, пересортицы и прочие опять же несимметричные движения.

boobyНо точно являются обстоятельством, усложняющим схему поддержки балансового уравнения.
Возможно, я недооцениваю глубину проблемы - никогда не погружался в эти детали на уровень бухгалтера - но мне кажется, Вы преувеличиваете. Суть проводки в том, что это атомарная операция: в одном месте убрали, в другом прибавили. При реализации полупроводок единственное, что нужно - это понятие "id операции", ключ, который связывает две-три-четыре-пять полупроводок, суммарно составляющих атомарное движение. В этом случае условие "сумма по полупроводкам операции равна нулю" тривиально проверяется и действует ровно так же, как и полная проводка, не внося никакого дополнительного риска. Усложнением я это не назову, несколько минут работы программиста один раз при разработке системы.

boobyНе говоря уже о вводе висящей полупроводки в журнал по кассе с забытой навсегда второй стороной.
Согласен, инстинктивно это вызывает недоверие. Но здесь следует иметь в виду, что ошибки учёта при ручном ведении бухгалтерии и при автоматизированном имеют разную природу. Если мы пускаем программиста/сисадмина/итп руками править проводки в таблицах на боевой базе - тогда да, конечно, "хожу по лезвию ноже". Если же обходимся более культурными методами - тогда двойная запись по сути нужна только для проверки того, что "компьютер не ошибся, складывая числа", а поиск ошибок учёта сводится к поиску расхождений между фактическим состоянием дел, бумажными документами, электронными документами и движениями по электронным документам.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908209
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,
по поводу супермаркета можно вяло подискутировать на тему, является ли переход от трех чеков к одному заменой архитектуры, или может быть интерпретирован в терминах инструментовки неизменной архитектуры. Такой цели у меня нет.

касательно увеличения/уменьшения сложности.
При взгляде из космоса, бизнес-приложение специального назначения должно поддерживать "правильность" ведения бизнеса. Некоторый набор утверждений по отношению к данным должен быть всегда истинным.
Для бухгалтерских приложений - самое общее утверждение такого рода, выраженное в наивной форме - равенство суммы остатков на активных счетах сумме остатков на пассивных счетах. Этот assert statement должен выполняться как до начала любой бухгалтерской операции, так и после ее завершения.
Т.е. - это абсолютный инвариант, нарушение которого однозначно свидетельствует об ошибках в бухгалтерских записях.
Собственно двойная запись изначально изобреталась как механизм, максимально облегчающий проверку такого утверждения.
Многие (предполагаю, что все) разработчики бухгалтерских учетных систем считают необходимым тем или иным способом гарантировать поддержку такого утверждения.

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

Утверждения подобной степени универсальности невозможно сформулировать для полупроводочных систем, т.к. в них способ формулировки определяется индивидуальной механикой поддержки понятия "финансовая транзакция".

Касательно ручного ведения журнальной записи. Речь не идет о том, что кто-то полез в таблицы прямыми инсертами, написанными на SQL.
Речь идет о штатном заполнении данных через стандартные интерфейсы конечного пользователя. Фактически существуют такие системы, построенные на полупроводках,
которые разрешают "пожурнальный" ввод данных полностью без контроля и даже формулировки понятия "финансовой транзакции".
Контроль целостности данных при этом уходит на отдельно стоящие и отдельно запускаемые процедуры/отчеты.
Основная проблема с таким заходом состоит в том, что выявленный факт расхождения баланса в общем слабо помогает с поиском и разбором детальной информации.

Для полнопроводочной системы развал баланса - всегда ошибка программиста.
Для полупроводочной - почти наверно - ошибка пользователя.

Сторонники полнопроводочных систем, считают, что в том месте где они не допускают возможности совершить пользователю такую ошибку - это самостоятельная ценность их систем.
А в том месте, где приход в журнале поставщиков должен быть показан одной суммой, то это принципиально достигается группировкой набора элементарных проводок в надстройкой (усложнением) в виде финиансовой транзакции как группы полных проводок.
Такое усложнение само по себе не отвечает поддержку базового бизнес-правило, т.к. оно поддержано уровнем ниже.
Для полупроводочных систем базовое бизнес правило невозможно поддержать уровнем ниже надстройки такого сорта.
Отсюда мое утверждение о разной сложности.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908268
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan Durakах да
http://www.sql.ru/forum/153721-1/dvoynaya-zapis-vs-poluprovodki
почитайте тут первый пост на 5-й странице
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908373
xenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Предлагаю вернуться к полям таблицы операций. Предлагаю такое
Transaction_ID - первичный ключ
SenderCode_ID - ссылка на банк-отправитель
ReceiverCode_ID - ссылка на банк-получатель
DebetAccount_ID - ссылка на счет дебета
DebetAccountBalanceNumber - балансовый номер счета дебета
DebetAccountNumber - номер счета дебета
CreditAccount_ID -ссылка на счет кредита
CreditAccountBalanceNumber -балансовый номер счета кредита
CreditAccountNumber -номер счета кредита
TransactionAmount - сумма транзакции
CurrencyCode_ID - валюта транзакции
TransactionAmountBaseCurrency - сумма транзакции в базовой валюте
TransactionStatus_ID - статус транзакции(создана/проведена/отклонена и т.д.)
CreateTransactionDate - дата создания транзакции
CreateOperator_ID - идентификатор создателя
ValutationDate - дата валютирования транзакции (т.е. дата фактического проведения)
TransactionComment(назначение платежа и все такое)

Прошу критиковать, только хочу сказать сразу: эта схема касается банковских транзакций, а не ритейла и т.д.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908411
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xenixПредлагаю вернуться к полям таблицы операций. Предлагаю такое
DebetAccount_ID - ссылка на счет дебета
DebetAccountNumber - номер счета дебета

зачем денормализация эта вся в таблице операций???
Она легкая должна быть.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908417
caballero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan Durak Проводки для баланса это как констрейнты для бд !!!! Конечно можно их отключить, и программной логикой целостность контролировать, даже может и быстрее работать где-то будет. Только с опытом приходит мысль, что "не гонялся бы ты поп за дешивизной"

фигня. кореспонденция счетов существует в нашей замшелой бухгалтерии с тех времен еще когда считали счетами на костяшках.
А програмная логика в любом случае должна контролировать правильность и целостность данных. Никакие проводки от кривых данных не спасут.
кроме того цель бухучета именно учет. А в нас принято считать что цель бухучета - сохранение баланса. Как говорится в анекдоте - надо шашечки а не ехать.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908420
xenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл еще идентификатор документа

авторзачем денормализация эта вся в таблице операций???
упрощает построение оборотов по балансовым счетам. например, получить суммарные дебетовые обороты по всем карточкам(счета 2625)
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908439
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
caballeroIvan Durak Проводки для баланса это как констрейнты для бд !!!! Конечно можно их отключить, и программной логикой целостность контролировать, даже может и быстрее работать где-то будет. Только с опытом приходит мысль, что "не гонялся бы ты поп за дешивизной"

фигня. кореспонденция счетов существует в нашей замшелой бухгалтерии с тех времен еще когда считали счетами на костяшках.
А програмная логика в любом случае должна контролировать правильность и целостность данных. Никакие проводки от кривых данных не спасут.
Ровно то же самое можно сказать и про constraint'ы - тоже "программная логика в любом случае должна контролировать ...".
Разные бывают обстоятельства, и лишний контур защиты не помешает.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908469
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
caballero,

вы бы не кидались всякими словами, которые когда-либо слышали.

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

Кроме того, любая форма поддержки явно сформулированных ограничений целостности не есть "фигня".
Программы, "сами по себе" контролирующие правильность и целостность данных бывают написаны только чужими руками.

Корреспонденция счетов существует не для фиксации замшелости, а есть форма формулировки специального поднабора правил ведения информации в области бухгалтерского учета бизнес-операций.
Т.е. - есть специальная форма констрейнтов, которые чужими руками написанные программы могут поддерживать автоматически.

А сама "замшелость" говорит не о преимуществе компьютеров перед костяными счетами, а о том, что метод учета надежно и правильно работает пятьсот лет.

Упоминание "замшелости" свидетельствует не просто об отсутствии образования, а специально об агрессивном публичном ламеризме.

как-то так.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908763
caballero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскин Ровно то же самое можно сказать и про constraint'ы - тоже "программная логика в любом случае должна контролировать ...".
Разные бывают обстоятельства, и лишний контур защиты не помешает.
Каким образом полупроводки мешают делать constraint'ы ? Ну хотите контролировать что хозяйственная операция не нарушает баланс - контролируйте. не нравится хозоперация с одной полупроводкой - не делайте. делайте всегда две пусть с виртуальными бухсчетами
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908796
caballero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobycaballero,

вы бы не кидались всякими словами, которые когда-либо слышали.

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

boobyКроме того, любая форма поддержки явно сформулированных ограничений целостности не есть "фигня".
Программы, "сами по себе" контролирующие правильность и целостность данных бывают написаны только чужими руками.

вообще не понял чем это
booby Корреспонденция счетов существует не для фиксации замшелости, а есть форма формулировки специального поднабора правил ведения информации в области бухгалтерского учета бизнес-операций.
Т.е. - есть специальная форма констрейнтов, которые чужими руками написанные программы могут поддерживать автоматически.

существует она только в постсовецких и прочих неразвитых странах. И констрейты тут вообще ни при чем

booby А сама "замшелость" говорит не о преимуществе компьютеров перед костяными счетами, а о том, что метод учета надежно и правильно работает пятьсот лет.


судя по всему у вас смутное представление о бухгалтерии если вы не понимаете сколько гемора с этим учетом. и не с тем что был 500 лет назад а с тем который придумали за последние 100 лет. Особенно в СССР.
boobyУпоминание "замшелости" свидетельствует не просто об отсутствии образования, а специально об агрессивном публичном ламеризме.

бла-бла-бла
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908825
xenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторсуществует она только в постсовецких и прочих неразвитых странах.
чего Вас так укусила корреспонденция счетов?
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908848
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
caballero,

Для вашего просвещения:
Двойную запись, баланс, вместе с балансовым уравнением, отчет о прибылях и убытках
придумал и опубликовал в учебнике математики "Summa de arithmetica, geometria, proportioni et proportionalita" итальянский математик конца 15го века Лука Пачоли.

С тех пор в бух. учете 500 лет ничего не менялось и работает в первозданном виде до сих пор.

Про корреспонденцию счетов.
Вы просто не понимаете, что это такое. Поэтому считаете, что ее нет.
Это совершенно естественно - считать не существующим то, не видно собственными глазами или непонятно.


удачи в несении тяжелого флага воинствующего ламеризма.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908850
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
caballeroКот Матроскин Ровно то же самое можно сказать и про constraint'ы - тоже "программная логика в любом случае должна контролировать ...".
Разные бывают обстоятельства, и лишний контур защиты не помешает.
Каким образом полупроводки мешают делать constraint'ы ?

Вам Ivan Durak сказал
Проводки для баланса это как констрейнты для бд .
Аналогия, понимаете?
И все Ваши доводы "Программа и так должна контролировать" - относятся в той же мере к constraint-ам, т.е. точно так же на их основании можно утверждать " constraint-ы только мешают".
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908890
caballero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xenixавторсуществует она только в постсовецких и прочих неразвитых странах.
чего Вас так укусила корреспонденция счетов?
речь была о том что изза кореспонденции неудобно применять полупроводки.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908898
caballero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobycaballero,

Для вашего просвещения:
Двойную запись, баланс, вместе с балансовым уравнением, отчет о прибылях и убытках
придумал и опубликовал в учебнике математики "Summa de arithmetica, geometria, proportioni et proportionalita" итальянский математик конца 15го века Лука Пачоли.
.
не надо просвещать тем о чем не имете понятия. Баланс 500 лет назад означал равенство итогов счетов при выполнении двойной записи. И никак не сумму остатков по счетам как придумали намного позже. Пачоли не придумывал фиктивные (контрарные и прочие) счета чтобы любой ценой уравнять равенство остатков по счетам.


boobyС тех пор в бух. учете 500 лет ничего не менялось и работает в первозданном виде до сих пор.
.
с тех пор все перевернуто с ног на голову - начиная с баланса.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908904
caballero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскинcaballeroпропущено...

Каким образом полупроводки мешают делать constraint'ы ?

Вам Ivan Durak сказал
Проводки для баланса это как констрейнты для бд .
Аналогия, понимаете?
И все Ваши доводы "Программа и так должна контролировать" - относятся в той же мере к constraint-ам, т.е. точно так же на их основании можно утверждать " constraint-ы только мешают".

Аналогия высосана из пальца - как работают западные системы без корресонденции?

И как вам помогут констрейнты если вы ввели неверную цифру? получите одинаковые ошибочные обороты по активу и пасиву и в результате ваш баланс замечательно сойдется. Вот только данные будет неверными.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908926
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
caballero
речь была о том что изза кореспонденции неудобно применять полупроводки.

милейший - это ваша речь.
Именно вы выдвинули это лишенное содержания утверждение.


caballeroПачоли не придумывал фиктивные (контрарные и прочие) счета чтобы любой ценой уравнять равенство остатков по счетам.

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

PS
про итоги счетов и равенство остатков - это ты мощно задвинул.
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908935
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
caballeroКот Матроскинпропущено...


Вам Ivan Durak сказал
пропущено...
.
Аналогия, понимаете?
И все Ваши доводы "Программа и так должна контролировать" - относятся в той же мере к constraint-ам, т.е. точно так же на их основании можно утверждать " constraint-ы только мешают".

Аналогия высосана из пальца - как работают западные системы без корресонденции?

Так и без constraint-ов можно сделать систему - другой вопрос что гордиться тут нечем.

caballeroИ как вам помогут констрейнты если вы ввели неверную цифру? получите одинаковые ошибочные обороты по активу и пасиву и в результате ваш баланс замечательно сойдется. Вот только данные будет неверными.

Да, совершенно верно, ни constraint'ы ни корреспонденция не дают 100% защиты от любой ошибки - они ловят только некоторый определенный класс этих ошибок (в этом еще одно их сходство). Но из этого не следует, что они бесполезны.

Давайте еще раз с начала - Вы согласны, что constraint-ы в базе полезны?
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38908996
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xenixПредлагаю вернуться к полям таблицы операций. Предлагаю такое
Transaction_ID - первичный ключ
SenderCode_ID - ссылка на банк-отправитель
ReceiverCode_ID - ссылка на банк-получатель
DebetAccount_ID - ссылка на счет дебета
DebetAccountBalanceNumber - балансовый номер счета дебета
DebetAccountNumber - номер счета дебета
CreditAccount_ID -ссылка на счет кредита
CreditAccountBalanceNumber -балансовый номер счета кредита
CreditAccountNumber -номер счета кредита
TransactionAmount - сумма транзакции
CurrencyCode_ID - валюта транзакции
TransactionAmountBaseCurrency - сумма транзакции в базовой валюте
TransactionStatus_ID - статус транзакции(создана/проведена/отклонена и т.д.)
CreateTransactionDate - дата создания транзакции
CreateOperator_ID - идентификатор создателя
ValutationDate - дата валютирования транзакции (т.е. дата фактического проведения)
TransactionComment(назначение платежа и все такое)

Прошу критиковать, только хочу сказать сразу: эта схема касается банковских транзакций, а не ритейла и т.д.

структура таблицы остатков по счетам на даты как формировать
...
Рейтинг: 0 / 0
Бухгалтерия проводки и счета
    #38909101
xenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторструктура таблицы остатков по счетам на даты как формировать
Я бы формировал так:
ID - первичный ключ
OperationalDate - дата опер.дня
Account_ID - идентификатор счета
BalanceAccountNumber - номер балансового счета
AccountNumber - номер счета
TypeCurrencyCode_ID - валюта счета
IncomeDebet - входящий дебет
IncomeDebetBaseCurrency -входящий дебет в базовой валюте
DebetTurnover - дебетовый оборот
DebetTurnoverBaseCurrency - дебетовый оборот в базовой валюте
OutcomeDebet - исходящий дебет
OutcomeDebetBaseCurrency - исходящий дебет в базовой валюте
--те же параметры для кредита
...
Рейтинг: 0 / 0
25 сообщений из 102, страница 4 из 5
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Бухгалтерия проводки и счета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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