Изменения
Перейти к навигации
Перейти к поиску
Строка 60:
Строка 60:
− +
Строка 66:
Строка 66:
− +
Строка 723:
Строка 723:
− +
− return (p.bxDate( datein )) +
+
+
+
+
+
Строка 733:
Строка 738:
− +
Строка 746:
Строка 751:
− "<span class=error>Не удалось распознать год. Данные: ", unwarp(date), +
− "; ", txtDateIn ,"</span>"}+
Строка 753:
Строка 758:
− "<span class=error>Не удалось распознать месяц. Данные: ", unwarp(date), +
− "; ", txtDateIn, "</span>"} +
Строка 761:
Строка 766:
− +
− unwarp(date), "; ", txtDateIn, "</span>"}+
+
видимо ошибка в Модуль:Message box/песочница
-- несколько параметров передаются вместе с кодом ошибки в таблице, один может быть передан простым значением
-- несколько параметров передаются вместе с кодом ошибки в таблице, один может быть передан простым значением
local errors = {
local e = {
["start"]="<span class=error>Ошибка: ",
["start"]="<span class=error>Ошибка: ",
["ending"]=".</span>",
["ending"]=".</span>",
["no_valid_date"]="дата «%s» не является корректной",
["no_valid_date"]="дата «%s» не является корректной",
["wrong_jd"]="юлианская дата %s вне диапазона",
["wrong_jd"]="юлианская дата %s вне диапазона",
["no data"]="нет входящих данных",
["no_data"]="нет входящих данных",
["too_many_arguments"]="ожидается менее %i аргументов",
["too_many_arguments"]="ожидается менее %i аргументов",
["too_little_arguments"]="ожидается более %i аргументов",
["too_little_arguments"]="ожидается более %i аргументов",
function p.BoxDate( frame )
function p.BoxDate( frame )
local args = getArgs(frame, { frameOnly = true })
local args = getArgs(frame, { frameOnly = true })
local datein = args[1]
local txtDateIn, strFormat = args[1], args[2]
local txtDateOut, date, status = p.bxDate(txtDateIn, strFormat, params)
if status.brk then
return status.errorText .. status.errorCat
else
return txtDateOut
end
end
end
params = params or {}
params = params or {}
if not txtDateIn then
if not txtDateIn then
status.errorText = tCon(errors.start,errors.no_data,errors.ending)
status.errorText = tCon(e.start,e.no_data,e.ending)
status.errorCat = category.no_parameters
status.errorCat = category.no_parameters
status.brk = true
status.brk = true
if not (type(date.year) == 'number') then
if not (type(date.year) == 'number') then
status.errorText = tCon{
status.errorText = tCon{
e.start,string.format(e.no_pattern_match,txtDateIn),"; ",
string.format(e.no_valid_date,unwarp(date)),e.ending}
status.errorCat = category.incomplete_parameters
status.errorCat = category.incomplete_parameters
status.brk = true
status.brk = true
if not inbord(date.month,1,12) then
if not inbord(date.month,1,12) then
status.errorText = tCon{
status.errorText = tCon{
e.start,string.format(e.no_pattern_match,txtDateIn),"; ",
string.format(e.no_valid_date,unwarp(date)),e.ending}
status.errorCat = category.incomplete_parameters
status.errorCat = category.incomplete_parameters
status.brk = true
status.brk = true
strFormat = trim(string.gsub(string.gsub(strFormat,"xg","F"),"[dDjlNwzW]",""))
strFormat = trim(string.gsub(string.gsub(strFormat,"xg","F"),"[dDjlNwzW]",""))
elseif not inbord(date.day,1,month_end_day(date.month,date.year)) then
elseif not inbord(date.day,1,month_end_day(date.month,date.year)) then
status.errorText = tCon{"<span class=error>Не удалось распознать день. Данные: ",
status.errorText = tCon{
e.start,string.format(e.no_pattern_match,txtDateIn),"; ",
string.format(e.no_valid_date,unwarp(date)),e.ending}
status.errorCat = category.incomplete_parameters
status.errorCat = category.incomplete_parameters
status.brk = true
status.brk = true