Присвояване на тип на съставен тип данни 1s 8.

Присвояване на тип на съставен тип данни 1s 8.

- класификация на стойности (т.е. данни) по техния тип - низове, числа, дати и др. Стойностният тип е едно от основните понятия във всеки език за програмиране.

Преобразуването на тип е преобразуването на стойност (данни) от един тип в друг, като например от низ в число или обратно. По-тясна концепция за форматиране на стойност е преобразуването от всеки тип в низ с преобразуване във форма, която ще бъде удобна за четене от потребителя, включително локализация.

Има езици със силно въвеждане на данни. Това означава, че когато създава (дефинира) променлива, програмистът стриктно определя какъв тип данни може да съхранява. Същото с функциите, параметрите на процедурата и т.н. В метаданните 1C типът на детайлите е строго посочен (въпреки че има съставен тип, който ви позволява да посочите няколко опции). Но в програмния код на езика 1C няма твърдо въвеждане, което означава, че можете да създадете числова променлива, след което да я приравните към низ. Функцията може, в зависимост от параметрите и условията, да върне число, или булево, или низ.

Как да работите с типове данни на езика 1C и как да конвертирате 1C типове?

Стойност 1C Недефинирана

Недефинирана е стойността 1C, което означава, че няма стойност. Използвайки тази 1C стойност, можете да "нулирате" променливи, включително за имплицитно извикване на деструктор, например COM обекти.
Променлива1 = Нов COMObject("Excel.Application");
Променлива1 = Недефинирана;

Подобна 1C NULL стойност, която заявката може да върне, когато се опитва да получи данни от базата данни, ако не е било възможно да се получат данни (по-точно, стойността в полето NULL означава, че полето в базата данни е „не е попълнено“) .
Избор = Query.Execute().Select();
Докато Selection.Next() цикъл
Ако Selection.Field1 = NULL Тогава
Продължи;
EndIf;
EndCycle;

1C типове стойности

Като "променливи" е възможно да се използват:

  • Променливи, създадени в текста на програмата (по начините, описани по-горе)
  • Подробности за обекта или формата на метаданни (създадени в конфигуратора, посочващи точния тип на 1C).

Реквизитът може да има съставен тип 1C, тоест няколко възможни. Присвояването на стойността 1C от потребителя в този случай може да бъде двуетапно:

  • Избор на типа стойност 1C от наличните
  • Избор на стойност 1C.

По подразбиране този атрибут има стойност 1С Недефиниран. Когато е избран тип 1C, но стойността 1C все още не е избрана - празна стойностот този тип 1C (0 за номер, нулева референция за референтни типове 1C, вижте по-долу). И накрая, тогава - стойността на 1C. От програмата за присвояване стойността се прави директно, без междинен избор на тип 1C.

Възможно е да се определи вида на стойността 1C по няколко начина:
//метод 1 - сравнение с известни типове 1C
Променлива1 = 12;
Ако TypeValue(Variable1) = Type("Number") Тогава
//…
ElseIf TypeValue(Variable1) = Type("CatalogReference.CatalogName") Тогава
//…
EndIf;

Преобразуване на типа 1C

Стойността 1C на прости типове 1C може да бъде преобразувана с помощта на оператора - името на типа 1C:
//в число
ValueNumber = Число ("22"); //ако е невъзможно да се преобразуват типове 1C, ще се появи грешка, така че е по-добре да използвате манипулатор на грешки (вижте по-долу)

//към низ
ValueString = String(22);
ValueString = AbbrLp(22);
ValueString = Format(22, "YY=0");

//на датата
ValueDate = Дата ("20120101120000"); //01.01.2012 12:00:00ч
ValueDate = Дата (2012, 01, 01, 12, 0, 0);
ValueDate = Дата (2012, 01, 01);

Преобразуване на тип 1C - стойности на сложни типове 1C

Форматиране на 1C стойности

За посочване на точния формат се използва функцията Format(), с която е възможно да се зададе необходимото представяне.
NumberString = Format(2400, "Настройки")

Като ред "Настройки" трябва да посочите необходимия формат 1C. Такива настройки са посочени в специален кодиран формуляр. Помислете за най-често използваните настройки:

Форматирайте датите и числата в 1C според правилата на различните страни
Ако трябва да покажете дата или число и не искате да се занимавате да знаете как трябва да бъдат представени според правилата на желаната държава, има най-простата настройкакоето ще ви позволи да направите това:
L = Кратко име на желаната държава

Пример за показване на дата според правилата на някои държави:
Формат (CurrentDate(), "L=ru")
> 28.03.2012 14:21:32
Формат(CurrentDate(), "L=en")
> 28.03.2012 г. 14:21:24 ч
Формат (CurrentDate(), "L=fr")
> 28/03/2012 14:22:08

Формат на датата на езика 1C
Ако настройката по подразбиране не ви е достатъчна и искате да посочите реда на частите на датата и символите за тяхното разделяне, трябва да използвате настройката:
DF = "dmg hms"

Съответно "dmg" е ден, месец и година, а "hms" е час, минути и секунди. Всяка от тези части може да бъде пропусната. Редът е всякакъв. Знаците, посочени между частите, ще се използват като разделителни знаци.

Дата Частичен знак M. b. посочен няколко пъти подред, появата на тази част от датата зависи от това, например „d“ или „dd“ или „dddd“.

Дешифриране на части от датата:

  • d - ден
    о малко "d"
    o 1 до 4 пъти
  • M - месец
    о голямо "М"
    o 1 до 4 пъти
  • d - година
    o малко "g"
    o 1 или 2 или 4 пъти
  • h - часове
    o малко "h" - 12 часов формат
    o голямо "H" - 24 часов формат
    o 1 или 2 пъти
  • m - минути
    о малко "м"
    o 1 или 2 пъти
  • s - секунди
    o малко "s"
    o 1 или 2 пъти
  • bb - Дисплей AM/PM за 12-часов формат
  • k - четвърт.

Пример за показване на дата с правила:

Числов формат на езика 1C
За разлика от форматирането на дата, където всичко е доста просто, има много опции за форматиране на число. Ето кои са най-често използваните.

Първият "проблем" е свързан с групирането по подразбиране на цифрите в числа от 3 и разделянето на групите с интервал, например:
StrNumber = String(22300500)
> 22 300 500

Това е неудобно, когато числото се преобразува в низ не за красив и разбираем изход за потребителя, а за нуждите на услугата. Това може да бъде повлияно от параметъра "CH", например:

Параметър, който ви позволява да закръглите числото при извеждане до необходимия брой цифри след десетичната запетая "NPV":
Формат (3,535353, "NPV=""2""")
> 3,54

Параметър, който ви позволява да посочите разделителния знак за целите и дробните части на "BRD":
Формат (3.535353, "BRD="".""")
> 3.535353

В някои случаи може да бъде полезно да можете да показвате нещо друго вместо числото "0": празен низ или "не е попълнено". Това ви позволява да направите параметъра "CHN":
Формат (0, "HN=""""")