1с ошибка если строка пуста

Проверка строки на пустоту

 1 способ используя универсальную функцию ЗначениеЗаполнено(<исходная строка>)

// если строка пустая или содержит только пробелы 
// тогда условие выполнится
Строка = "  ";
Если НЕ ЗначениеЗаполнено(Строка) тогда
    сообщить("Строка пустая");
КонецЕсли;

2 способ сравнив значение с пустым значением (”“)

// условие выполнится если строка пустая
Если Строка1="" тогда
    сообщить("Строка пустая");
КонецЕсли;

Функция 1С ПустаяСтрока(Строка) проверяет строку на заполненность. Под «заполненностью» понимается не просто пустая строка с нулевой длиной, но и строка, в которой есть символы, но они «незначимы». Подробнее о «незначимых» символах см. функцию СокрЛП().

Например:

  • Выполняем 1С ПустаяСтрока(«»)
  • 1С возвращает Истина
  • Выполняем 1С ПустаяСтрока(» «)
  • 1С возвращает Истина
  • Выполняем 1С ПустаяСтрока(»
    | «)
  • 1С возвращает Истина
  • Выполняем 1С ПустаяСтрока(» . «)
  • 1С возвращает Ложь

Функция 1С ПустаяСтрока используются чаще всего в проверку на заполненность строковых полей на форме, или в результатах запроса, например, проверка перед записью нового элемента справочника:
Если ПустаяСтрока(Наименование) Тогда
     Отказ = Истина;
     Сообщить("Не заполнено наименование элемента справочника");
КонецЕсли;

Проголосовать за этот пост:

Загрузка…

Posted in Язык 1С

   ksru

25.06.17 — 20:29

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

Если ПустаяСтрока(СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры) Тогда

Сообщить(«Пусто»);

иначе

вот попытка но остановился на 1 строчке

   Amra

1 — 25.06.17 — 20:32

ЗначениеЗаполнено. Продам СП, дорого

   ksru

2 — 25.06.17 — 20:33

(1) не понял?

   Garykom

3 — 25.06.17 — 20:35

(1) Только СП не хватит, там про циклы мало написано

   ksru

4 — 25.06.17 — 20:37

кто-нибудь решал такую задачу?

   Amra

5 — 25.06.17 — 20:40

(2) Что именно тебе не понятно?

   ksru

6 — 25.06.17 — 20:44

(5) как решить проблему

   ksru

7 — 25.06.17 — 20:44

не делал что-то подобное никогда

   GreyK

8 — 25.06.17 — 20:45

(4) Нет, конечно. Тупые и жадные на такие мелочи не размениваются. Только для ВАС у меня есть кошерная версия СП, только сегодня за 1000$.

(6) Смотри (4)

   Asmody

9 — 25.06.17 — 20:47

(7) А программировать приходилось?

   ksru

10 — 25.06.17 — 20:48

(8) спасибо мне для диплома это не пригодиться, (7) приходилось

   ksru

11 — 25.06.17 — 20:48

а в 1с существует оператор перход к другой строке в коде типо как в батниках?

   Garykom

12 — 25.06.17 — 20:50

   GreyK

13 — 25.06.17 — 20:55

(10) Как ты думаешь что вернет ПустаяСтрока(Нечто)? Подумай как значение преобразуется в строку.

   Мыш

14 — 25.06.17 — 20:58

Народ, хорош страдать снобизмом и упражняться в петросянстве. Оно хорошо для упорствующих в невежестве.

(0) ХарактеристикаНоменклатуры скорее всего имеет ссылочный тип, поэтому проверяется на пустое значение другими методами. Либо «<>.ПустаяСсылка()», либо ЗначениеЗаполнено(<>).

ПустаяСтрока(<>) — это для строковых типов.

   GreyK

15 — 25.06.17 — 21:02

(14) Ты про «нул» забыл двоешнику подсказать.

   Garykom

16 — 25.06.17 — 21:02

   ksru

17 — 25.06.17 — 21:05

стибать и я могу а помочь единицы

   Garykom

18 — 25.06.17 — 21:08

(14) Эээ надеюсь понял что проблема то не в «ЗначениеЗаполнено» а немного в другом?

Как бы пытался помочь сразу еще в (3) но походу не дошло

   Asmody

19 — 25.06.17 — 21:11

(17) пишеццо «стебать»

   Asmody

20 — 25.06.17 — 21:11

(18) Этот из тех, которым 85 тыр надо сразу?

   Garykom

21 — 25.06.17 — 21:13

(20) Это вряд ли доучится, только если диплом купит за $

Жаль не смог понять где он пытается учиться, написал бы кому нибудь по учебной части.

   ksru

22 — 25.06.17 — 21:15

(21) да ну вас

   Dotoshin

23 — 25.06.17 — 21:19

   Tarlich

24 — 25.06.17 — 22:01

Для каждого стр из Товары цикл

   если не  ЗначениеЗаполнено(стр.Характеристика) тогда

       Сообщить(«Есть строки с не зап характеристикой»);

    КонецЕсли;

КонецЦикла;

   Garykom

25 — 25.06.17 — 22:11

(24) «Прервать» добавить чтобы зря цикл дальше не крутить.

Но для ТС добавить «Продолжить» и переходить к следующей строке как он хочет.

ЗЫ Я реально не могу понять, это что так сложно прочитать-осмыслить всего одну книжку по 1С?

А если это не надо (что то там читать) то просто нанимаешь того кто прочитал и пусть (не бесплатно) делает.

   Amra

26 — 25.06.17 — 22:16

(25) Книжки читать? Вот еще, диплом еще «вчера» надо было сдать

   ksru

27 — 25.06.17 — 22:47

этот код получится впихнуть в нее

Строка = СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры;

// возьмём начиная с 15 индекса 11 символа

ВозвратДата=(Сред(Строка, 16, 10)); // дата 01.01.0001

День=(Сред(ВозвратДата, 1, 2));

Месяц=(Сред(ВозвратДата, 4, 2));

Год=(Сред(ВозвратДата, 7, 4));

НачалаПроизводства=Дата(Год, Месяц, День);

//вычисляем смену

Переменная =СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры;

Позиция = Найти(Переменная, «, Д»);

Если Позиция=26 Тогда Смена=НачалаПроизводства+3*60*60*24;

ИначеЕсли Позиция=0 тогда

Позиция = Найти(Переменная, «, Н»);

Если Позиция=26  Тогда Смена=НачалаПроизводства+3*60*60*24+(60*60*12);

иначе СтрокаТабличнойЧасти.Партия=»»;

КонецЕсли;

КонецЕсли;

Если Смена>ТекущаяДата() тогда

СтрокаТабличнойЧасти.Партия=»На созревании до, «+Смена+», Н»;

иначе СтрокаТабличнойЧасти.Партия=»Готово, «+Смена+», Д»;

КонецЕсли;

   ksru

28 — 25.06.17 — 22:53

хочу что при изменении данных вычислялась дата созревания если в строке СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры что-то есть

Процедура ПриИзмененииДанных()

//цикл

//код

КонецПроцедуры

вот((

   Asmody

29 — 25.06.17 — 22:57

как тут пеекреститься на форуме?

   Garykom

30 — 25.06.17 — 22:58

Ну и сделай Процедуру/Функцию в которую передаешь нужную строку ТЧ вызывая ее внутри цикла.

ЗЫ Код конечно кривой что пипец — верю что препод поверит «сам делал» а не заказывал ))

   Garykom

31 — 25.06.17 — 22:59

(29) Лучше благослови заблудшего

   Asmody

32 — 25.06.17 — 23:00

(27) С чего ты взял, что ХарактеристикаНоменклатуры это дата?

   ksru

33 — 25.06.17 — 23:02

(32) <img src=»http://download.pro-ks.ru/123.png»; alt=»» class=»bbc_img»>

   ksru

34 — 25.06.17 — 23:02

   ksru

35 — 25.06.17 — 23:03

там текст и дата

   ksru

36 — 25.06.17 — 23:03

формат фиксированный

   Lexey_

37 — 25.06.17 — 23:06

(36) кем или чем фиксированный?

   Имитация работы

38 — 25.06.17 — 23:06

Ну вот поможешь тебе сейчас, а потом от твой работы помрёт кто нибудь, потому что ты ничего не знаешь и не умеешь. Ну тебя нахъ с твоим дипломом.

   ksru

39 — 25.06.17 — 23:14

(38) ))) помру только я эта работа никуда не пойдет))

   ksru

40 — 25.06.17 — 23:16

(37) в справочнике стандартные значение набор символов не меняется, меняется только дата и смена

   Lexey_

41 — 25.06.17 — 23:17

(40) ну так и бери дату из соответствующего поля

   ksru

42 — 25.06.17 — 23:27

(41) так вот она и берется

ВозвратДата=(Сред(Строка, 16, 10));// дата 01.01.0001

День=(Сред(ВозвратДата, 1, 2));

Месяц=(Сред(ВозвратДата, 4, 2));

Год=(Сред(ВозвратДата, 7, 4));

НачалаПроизводства=Дата(Год, Месяц, День);

   Имитация работы

43 — 25.06.17 — 23:32

(21) В Омске счётное количество вузов. Можно тупо написать в каждый, про Константина Степанова, родившегося 24 мая.

   Lexey_

44 — 25.06.17 — 23:33

(42) что-то спросить хочешь?

   ksru

45 — 25.06.17 — 23:34

(43) Пиши, пиши а что писать будешь?

   ksru

46 — 25.06.17 — 23:37

(43) ты только тролить и можешь

   Имитация работы

47 — 25.06.17 — 23:38

А, да это ж тот самый Константин, который не в ладах с книжками.

Получение значения справочника

   Имитация работы

48 — 25.06.17 — 23:43

Так что (14) прав, это хорошо…

   ksru

49 — 25.06.17 — 23:48

(48) я тебя потом, как-нибудь потролю, а сейчас у меня не так уж много времени, так что можешь писюльки свои писать дальше

   Garykom

50 — 26.06.17 — 00:01

(49) У тя было много-много времени пока игрался в CS…

Прикинь многие тут успели не только в CS (и прочие поиграть) но и выучить 1С… а кое кто и не только 1С и еще играть успевает и книжки читать…

   Имитация работы

51 — 26.06.17 — 00:01

Диплом, что-ли горит? Да ну, быть такого не может, весь год же все хорошо было!

   Garykom

52 — 26.06.17 — 00:04

(50)+ Сам неплохо в Half-Life Team Fortress рубился в свое время, а до этого и в Doom и в Duke Nukem c Quake.

Успевая в промежутке и стратегиям типа Варкрафта/Старкрафта время уделять и даже квестам ))

   ksru

53 — 26.06.17 — 00:11

(49) открою тебе маленький секрет, я не играю в игры, а сайт мой хоть и кривой но работает.

А на счет кода так проканает?

Процедура ПриИзмененииДанных()

//цикл

Для каждого СтрокаТабличнойЧасти из СтрокаТабличнойЧасти.ХарактеристикаНоменклатурыцикл Цикл

   если не  ЗначениеЗаполнено(СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры) тогда

Перейти ~а; //метка

иначе Перейти ~б; //метка

~б: //метка

Строка = СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры;

// возьмём начиная с 15 индекса 11 символа

ВозвратДата=(Сред(Строка, 16, 10));// дата 01.01.0001

День=(Сред(ВозвратДата, 1, 2));

Месяц=(Сред(ВозвратДата, 4, 2));

Год=(Сред(ВозвратДата, 7, 4));

НачалаПроизводства=Дата(Год, Месяц, День);

//вычисляем смену

    КонецЕсли;

КонецЦикла;

Переменная =СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры;

Позиция = Найти(Переменная, «, Д»);

Если Позиция=26 Тогда Смена=НачалаПроизводства+3*60*60*24;

ИначеЕсли Позиция=0 тогда

Позиция = Найти(Переменная, «, Н»);

Если Позиция=26  Тогда Смена=НачалаПроизводства+3*60*60*24+(60*60*12);

иначе СтрокаТабличнойЧасти.Партия=»»;

КонецЕсли;

КонецЕсли;

Если Смена>ТекущаяДата() тогда

СтрокаТабличнойЧасти.Партия=»На созревании до, «+Смена+», Н»;

иначе СтрокаТабличнойЧасти.Партия=»Готово, «+Смена+», Д»;

КонецЕсли;

~а:  //метка

КонецПроцедуры

   ksru

54 — 26.06.17 — 00:15

тролят все а помогают единицы

   ksru

55 — 26.06.17 — 00:20

{Документ.ИнвентаризацияТоваровНаСкладе.Форма.ФормаДокумента.Форма(1163)}: Значение не является значением объектного типа (ХарактеристикаНоменклатурыцикл)

Для каждого СтрокаТабличнойЧасти из СтрокаТабличнойЧасти.ХарактеристикаНоменклатурыцикл Цикл

как решить кто знает

   Lexey_

56 — 26.06.17 — 00:22

(55) надо включить мозг, причем, совсем немного

   Garykom

57 — 26.06.17 — 00:31

Встречаются два братка, один другому говорит:

— Васю Бритого знаешь?

— Знаю.

— Вчера стреляли в него. Восемь пуль и все в голову.

— Ну и?

— Ничего. Врач говорит жить будет — мозг не задет

   корум

58 — 26.06.17 — 00:53

(55) это безнадёжно.

ХарактеристиканоменклатурыЦикл на что намекает?

На то, что нет такого реквизита .
Цикл сотри.

   zvial

59 — 26.06.17 — 05:04

(53) Как теперь это развидеть?

   igorPetrov

60 — 26.06.17 — 05:11

Жесть какая-то, зачем ТС этим занимается? У нас, что других профессий нет?

(57) +100500

   Имитация работы

61 — 26.06.17 — 07:22

(60) Корочка нужна. Похоже, очень на должность хочется.

   Dotoshin

62 — 26.06.17 — 08:52

(27) Открой еще один секрет. Зачем это все нужно? Это дипломная работа или ты уже работаешь и это реальная рабочая задача?

   МимохожийОднако

63 — 26.06.17 — 08:53

(62) Это реальная дипломная работа ))

   Dotoshin

64 — 26.06.17 — 08:53

(62) к (53)

   Buster007

65 — 26.06.17 — 09:33

(0) ты на кого учился?

   igorPetrov

66 — 26.06.17 — 09:34

(65) он не учился.

   dezss

67 — 26.06.17 — 09:54

(53) дружище, сперва освой оформление кода. Отступы и т.п.

Твой код читать — это просто ломать глаза. 1С сама за тебя отступы же делает, зачем ты их везде убираешь?

Для каждого СтрокаТабличнойЧасти из СтрокаТабличнойЧасти.ХарактеристикаНоменклатурыцикл Цикл

СтрокаТабличнойЧасти.ХарактеристикаНоменклатурыцикл — это что, коллекция значений?

   HardBall

68 — 26.06.17 — 10:23

(0) А какой пятничный пост был бы.

   Serg_1960

69 — 26.06.17 — 11:02

«Стебать и я могу, а помочь — единицы»

«Троллят все, а помогают — единицы»

«Эта работа никуда не пойдет»



Стёбаю и троллю — эта работа в никуда — «Не в коня корм»(с)

    Для Каждого СтрокаТабличнойЧасти Из ЭтотОбъект.Товары Цикл

        Если Не ЗначениеЗаполнено(СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры) Тогда

            Продолжить;

        КонецЕсли;

        Смена = Неопределено;

        Партия = Неопределено;

        СтрДляРазбора = «» + СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры;

        Признак = Прав(СтрДляРазбора, 3);

        Если Признак = «, Д» Тогда

            Смена = Дата(СтрЗаменить(Прав(СтрДляРазбора, 13), Признак, «») + «00:00:00») + 60*60*24*3;

        ИначеЕсли Признак = «, Н» Тогда

            Смена = Дата(СтрЗаменить(Прав(СтрДляРазбора, 13), Признак, «») + «12:00:00») + 60*60*34*3;

        КонецЕсли;

        Если Не ЗначениеЗаполнено(Смена) Тогда

            Партия = «»;

        ИначеЕсли Смена > ТекущаяДата() тогда

            Партия = «На созревании до, » + Формат(Смена, «ДФ=dd.MM.yyyy») + «, Н»;

        Иначе

            Партия = «Готово, » + Формат(Смена, «ДФ=dd.MM.yyyy») + «, Д»;

        КонецЕсли;

    КонецЦикла;

   Radkt

70 — 26.06.17 — 11:39

(53)Когда я начинал, и в коде не разбирался уже знал, что надо избегать написания кода через GOTO/перейти

   Веселый собака

71 — 26.06.17 — 11:52

Спасибо, повеселили.

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

   sapphire

72 — 26.06.17 — 12:23

(70) Брось, парень реально крут, такой копры сто лет уже не видали :)

  

Имитация работы

73 — 26.06.17 — 12:35

(71) Побить копытами в грудь, это запросто. Кого? (:

В 1С проверка на пустое значение осуществляется специальной функцией.  Что бы проверить заполнен ли имеющийся у вас реквизит или переменная следует использовать функцию из глобального контекста ЗначениеЗаполнено(<Значение>).

В 1С 8 значение считается заполненным (не пустым) если оно отличается от значения по умолчанию для данного типа. Например для ссылочного типа значение по умолчанию — это Пустая ссылка (данного справочника, документа и т.п.). Также пустыми являются переменные и реквизиты содержащие значения Null и Неопределено.

1с проверка на пустое значение. Примеры

Пример 1:

Переменная = Справочники.Номенклатура.ПустаяСсылка();

 Проверка = ЗначениеЗаполнено(Переменная);

В данном случае переменная Проверка будет содержать значение Ложь. Также функцию ЗначениеЗаполнено(<Значение>). можно использовать напрямую в условиях.

Пример 1.1

Если ЗначениеЗаполнено(Переменная) Тогда
    Сообщить("Значение в переменной не является пустым!");
КонецЕсли;

Пример2:

Переменная = Документы.АвансовыйОтчет.НайтиПоНомеру("000000001");

Проверка = ЗначениеЗаполнено(Переменная);

В данном примере, если документ Авансовый отчет с номером 000000001 существует, то в переменной Проверка будет содержаться значение Истина, иначе Ложь.

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

Как же проверить, что в 1с таблица значений пустая? Для этого используется метод Количество(), с его помощью можно проверить сколько строк содержится в таблице значений.

Пример 3. Пусть МояТаблица — таблица значений определенная выше в коде.

Если МояТаблица.Количество() = 0 Тогда
    Возврат;
КонецЕсли;

Этим же методом можно определить заполненность дерева значений и выборки результата запроса.

Пример 4. Пусть МоеДерево — дерево значений определенное выше в коде.

Если МоеДерево.Строки.Количество() = 0 Тогда
    Возврат;
КонецЕсли;

Как видите, в дереве значений мы проверяем наличие строк первого уровня, если их нет, то дерево пустое.

Пример 5. Пусть Запрос — запрос к базе данных 1С 8, определенный выше.

Выборка = Запрос.Выполнить().Выбрать();

Если Выборка.Количество() = 0 Тогда
    Возврат Ложь;
Иначе
    Выборка.Следующий();
...

На этом описание основных приемов, при помощи которых осуществляется в 1с проверка на пустое значение, закончено. Если вы хотите узнать, как сделать проверку на пустое значение в запросе, прочитайте следующие статьи: Проверка на null в запросе и Проверка на Неопределено в запросе


В этой статье я рассмотрю основные механизмы платформы 1С 8.3, которые обеспечивают проверку заполнения реквизитов.

Проверка заполнения реквизита объекта 1С

У любого реквизита объекта 1С можно настроить проверку заполнения, когда нельзя сохранить новый элемент объекта, не заполнив этот реквизит. Выйдет ошибка.

Для того, чтобы у реквизита объекта осуществлялась проверка заполнения, достаточно в свойстве реквизита «Проверка заполнения» указать значение «Выдавать ошибку».

Проверка заполнения реквизита объекта 1С

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

Проверка заполнения реквизита объекта 1С

Данная проверка будет осуществляться независимо от того, сгенерирована эта форма платформой 1С 8.3 автоматически, или используется форма созданная разработчиком.

Проверка заполнения табличной части в 1С

Помимо реквизитов у объектов можно проверять заполнение табличной части.  Для этого у табличных частей объектов имеется свойство «Проверка заполнения», в которое также необходимо установить значение «Выдавать ошибку».

Проверка заполнения табличной части в 1С

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

Проверка заполнения табличной части в 1С

В тоже время, мы спокойно сможем записать элемент, у которого имеется строка табличной части с пустыми полями.

Проверка заполнения табличной части в 1С

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

Проверка заполнения программно в 1С

Иногда возникает необходимость проверить программно заполнение объекта в 1С. Для этих целей предназначен метод ПроверитьЗаполнение(), который имеется у большинства объектов 1С (справочники, документы и т.д.).

Например, во время программного создания элемента справочника, мы можем проверить заполнение реквизитов этого справочника, перед его записью.

НовОбъект = Справочники.Номенклатура.СоздатьЭлемент();
НовОбъект.Наименование = "Товар";
Если НовОбъект.ПроверитьЗаполнение() Тогда
    НовОбъект.Записать();
КонецЕсли;

В этом случае, элемент справочника не будет записан, если у него имеются реквизиты, у которых в свойстве ПроверкаЗаполнения установлено значение «Выдавать ошибку».

Иногда, нужно проверить заполнение реквизита, у которого в свойстве «Проверка заполнения» установлено значение «Не проверять».  Например, у реквизита Артикул справочника Номенклатура.

Проверка заполнения программно в 1С

Если нам нужно осуществлять проверку этого реквизита (например, по какой-то определенной логике), то необходимо в модуле объекта создать метод  ОбработкаПроверкиЗаполнения.

ОбработкаПроверкиЗаполнения в 1С

ОбработкаПроверкиЗаполнения в 1С

У этого метода, который является процедурой, имеется параметр ПроверяемыеРеквизиты. Этот параметр массив, в котором содержится список имен реквизитов, которые нужно проверять. Если в этот список мы добавим название реквизита, то при сохранении элемента будет осуществляться проверка на то, заполнен этот реквизит или нет.

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    ПроверяемыеРеквизиты.Добавить("Артикул");
КонецПроцедуры
Проверка заполнения программно в 1С

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

Например, удалим из проверяемых реквизит ПолноеНаименование.

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    Индекс = ПроверяемыеРеквизиты.Найти("ПолноеНаименование");

    Если Индекс <> 0 Тогда
        ПроверяемыеРеквизиты.Удалить(Индекс);
    КонецЕсли;

КонецПроцедуры

Тогда мы сможем спокойно записать элемент с незаполненным реквизитом ПолноеНаименование.

Проверка заполнения программно в 1С

Если мы хотим проверить программно, что заполнен реквизит табличной части объекта, то необходимо добавить этот реквизит в массив ПроверяемыеРеквизиты по такому формату: [НазваниеТабличнойЧасти].[НазваниеРеквизита] .

Например:

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

    ПроверяемыеРеквизиты.Добавить("СписокСвойств.НазваниеСвойства");

КонецПроцедуры

В этом случае, будет осуществляться проверка заполнения реквизита табличной части.

Проверка заполнения программно в 1С

Проверка заполнения формы 1С

Иногда нужно проверить заполнение реквизитов формы.  Разберем небольшую задачу: будем на форме умножать два числа друг на друга, если они заполнены. Создадим на форме реквизиты  с типом Число — Множитель1, Множитель2 и Сумма. У реквизитов Множитель1 и Множитель2 установим в свойство «Проверка заполнения» значение «Выдавать ошибку».

Проверка заполнения реквизита объекта 1С

При выполнении команды Посчитать, произведем расчет только в том случае, если реквизиты заполнены.  Проверку заполнения будем выполнять при помощи метода ПроверитьЗаполнение.

&НаКлиенте
Процедура Посчитать(Команда)

    Если ПроверитьЗаполнение() Тогда

        Сумма = Множетель1 * Множетель2;

    КонецЕсли;

КонецПроцедуры

Теперь мы не сможем посчитать сумму, если один из множителей не заполнен.

Проверка заполнения реквизита объекта 1С

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Программировать в 1С за 11 шагов

Книга написана понятным и простым языком — для новичка.

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника.

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси
  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

Возможно, вам также будет интересно:

  • 1с ошибка деление на 0 при проведении
  • 1с ошибка деление на 0 в запросе
  • 1с ошибка даты запрета изменения некорректный год
  • 1с ошибка данные были изменены или удалены другим пользователем
  • 1с ошибка sdbl поле id имеет тип ref self

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии