• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Данные в колонке

  • Автор темы Автор темы azat20
  • Дата начала Дата начала
A

azat20

Добрый день!Есть доки, в одном из полей(назовем его Х) хранятся данные типа: год+месяц. Например, 2008Ноябрь. Элементов в полем много. Надо чтобы в колонке были года и месяца, которых нет в поле Х до текущий месяца текущего года. Как это сделать?
На ум пришло только собрать все элементы типа год+месяц до текущийГод+текущийМесяц. А затем Replace(all;X;""). Вот. Не могу реализовать на собаках(пишу прямо в Formula столбца). Как это реализовать? @For вообще работает в отборе столбца?Проблема еще и в том, что текущий месяц - это цифра, а формат у меня 2008Ноябрь(год+названиемесяца).
Прошу помочь!У кого какие предложения?
 
Лучше завести поле в документе и хранить список там. Раз в месяц агентом править. Будет гораздо быстрее.
А преобразовать в дату и получить список дат до текущей даты вроде бы не проблема.
 
Medevic
+1, тяжеловатая формула для колонки будет)




Azat
For работает.
В поле даты храниться дата, а вот отображается у тебя как раз формат "2008 Месяц".
Делай 2а списка, 1 в котором все месяца+годы которые могут быть выведены, в другом те что в документе, потом составляй список в котором Сп1-Сп2 будет, и выводи его.

Для получения названия месяца юзай:
@Select ( Номер_Месяца ; "Январь";"Февраль";"Март";"Апрель";"Май";"Июнь";"Июль";"Август";"Сентябрь";"Октябрь";"Ноябрь";"Декабрь")
 
Для получения названия месяца юзай:
@Select ( Номер_Месяца ; "Январь";"Февраль";"Март";"Апрель";"Май";"Июнь";"Июль";"Август";"Сентябрь";"Октябрь";"Ноябрь";"Декабрь")

Спасибо! А все таки никак в колонке все написать,а? А то агентом не очень то охота
 
Создал поле, computed then composed,написал там
i:=2008;
j:=1;
all:=" ";
@While(i<=@Year(@Now);
@While(j<=@Month(@Now);
all:= all & @Text(i;"G") & @Select(j;"Январь";"Февраль";"Март";"Апрель";"Май";"Июнь";"Июль";"Август";"Сентябрь";"Октябрь";"Ноябрь";"Декабрь");
j:=j+1;
)
i:=i+1;
)


Выдает ошибку @Function arguments excepted but none were supplied...

Подскажите, пожалуйста, Как и что лучше написать в поле, где будет содержаться все месяцы и года до текущего месяца текущего года?
 
Создал поле, computed then composed,написал там
Неправильно выбран тип поля. Нужно просто computed.

Вот, держи:
Код:
month := "Январь" : "Февраль" : "Март" : "Апрель" : "Май" : "Июнь" : "Июль" : "Август" : "Сентябрь" : "Октябрь" : "Ноябрь" : "Декабрь";
start := "2005Апрель";
startDate := @Date(@TextToNumber(start); @Member(@RightBack(start; 4); month); 1);
@For(n := @Adjust(startDate; 0; 1; 0; 0; 0; 0); n < @Date(@Year(@Today); @Month(@Today); 1); n := @Adjust(n; 0; 1; 0; 0; 0; 0); d := d : (@Text(@Year(n)) + month[@Month(n)]));
@Trim(d)
 
Вот, держи:

month := "Январь" : "Февраль" : "Март" : "Апрель" : "Май" : "Июнь" : "Июль" : "Август" : "Сентябрь" : "Октябрь" : "Ноябрь" : "Декабрь";
start := "2005Апрель";
startDate := @Date(@TextToNumber(start); @Member(@RightBack(start; 4); month); 1);
@For(n := @Adjust(startDate; 0; 1; 0; 0; 0; 0); n < @Date(@Year(@Today); @Month(@Today); 1); n := @Adjust(n; 0; 1; 0; 0; 0; 0); d := d : (@Text(@Year(n)) + month[@Month(n)]));
@Trim(d)

Премного благодарен!!!
 
Добрый день!еще такой вопрос. Часто бывает нужно в поле, которое multivalue добавить что-нибудь на Лотусскрипте (агентом или кнопкой). Использую ReplaceItemValue. Но там же не напишешь

Call pardoc.ReplaceItemValue("Reade",pardoc.reade : session.UserName & Date)

Я конечно, извращаюсь, когда пишу
Call pardoc.ReplaceItemValue("Reade", Fulltrim(Arrayappend(tempstr,laststr)))
где,
Dim tempstr(1)
Tempstr(0)=Cstr(doc.from(0)) & " " & Cstr(doc.date(0))
laststr=pardoc.reade,
но не знаю как делать проще...
Подскажите, пожалуйста, как оптимизировать код!
 
А если надо добавить в начало списка,а не в конец?
 
Я конечно, извращаюсь, когда пишу
Call pardoc.ReplaceItemValue("Reade", Fulltrim(Arrayappend(tempstr,laststr)))
где,
Dim tempstr(1)
Tempstr(0)=Cstr(doc.from(0)) & " " & Cstr(doc.date(0))
laststr=pardoc.reade,
но не знаю как делать проще...
Подскажите, пожалуйста, как оптимизировать код!
Почему извращаешься? Нормально. Если немного поправить:
Код:
Call pardoc.ReplaceItemValue("Reade", FullTrim(ArrayAppend(pardoc.GetItemValue("Reade"), session.UserName & Date)))

Можно Evaluate использовать:
Код:
Call pardoc.ReplaceItemValue("Reade", Evaluate({@Trim(Reade : (from + @Text(date)))}, pardoc))
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab