Добрый день! Подскажите, пожалуйста, что не так.
У меня есть две табличные части (ТабПриемов и ТабВремя) одного документа. В каждом из них есть реквизиты (Время1, Время2(ТабПриемов)), (ВремяН, ВремяК(ТабВремя)) и имеют тип: Дата, состав: Дата и Время.
Тч Приемов заполняется автоматически по четным и нечетным дням. Вторая тч Время должна заполняться за счет первой тч по нажатию кнопки. Когда я пытаюсь заполнить тч Время, пропускается этот кусок кода и переходит сразу к последнему Сообщить. Помогите, пожалуйста.

```1c
    Для Каждого СтрокаТабПриемов Из Объект.ТабПриемов Цикл
    Если ЗначениеЗаполнено (СтрокаТабПриемов.Время1) или (СтрокаТабПриемов.Время2) Тогда
    Продолжить;
    КонецЕсли;

    мЧ=Число(Строка(СтрокаТабПриемов.Время1));
    Пока мЧ<Число(Строка(СтрокаТабПриемов.Время2)) Цикл
    Стр=Объект.ТабВремя.Добавить();
    Стр.ДатаПриема=СтрокаТабПриемов.ДатаПриема;
    Стр.НазвДня=СтрокаТабПриемов.НазвДня;
    ч1=Цел(мЧ);ч2=(мЧ-ч1)*100;
    ч2=ч2+Объект.Продолжительность;
    Если ч2>59 Тогда
    ч2=ч2-60;
    ч1=ч1+1;
    КонецЕсли;
    ч3=ч1+ч2/100;
    Стр.Кабинет=СтрокаТабПриемов.Кабинет;
    Стр.Кресло=НомерКресла();
    Стр.ВремяН=мЧ;
    Стр.ВремяК=ч3;
    мЧ=ч3;
    КонецЦикла;
    КонецЦикла;

    Если Объект.ТабВремя.Количество()=0 Тогда
    Сообщить("В таблице расписания не заполнено время начала и время окончания приемов!");
    КонецЕсли;
```
---
Проверяйте это условие логичнее всего предположить что ошибка именно тут

```1c
    Если ЗначениеЗаполнено (СтрокаТабПриемов.Время1) или (СтрокаТабПриемов.Время2) Тогда
    Продолжить;
    КонецЕсли;
```

и вроде Дата и время нельзя проверять через ЗначениеЗаполнено
---
посмотрите на это по другому:

```1c
    ЗначениеЗаполнено (СтрокаТабПриемов.Время1)
    или
    (СтрокаТабПриемов.Время2)
```

или что? или дата?
может вот так:

```1c
    Не ЗначениеЗаполнено(СтрокаТабПриемов.Время1) или Не ЗначениеЗаполнено(СтрокаТабПриемов.Время2)
```
---
Если ЗначениеЗаполнено (СтрокаТабПриемов.Время1) или (СтрокаТабПриемов.Время2) Тогда
Продолжить;
... значит, если в строке заполнено время1 или время2, со строкой ничего не делаем.
КонецЦикла.

Переходим к последнему Сообщить.

поставь Если НЕ ЗначениеЗаполнено()
---
Проверяйте это условие логичнее всего предположить что ошибка именно тут

```1c
    Если ЗначениеЗаполнено (СтрокаТабПриемов.Время1) или (СтрокаТабПриемов.Время2) Тогда
    Продолжить;
    КонецЕсли;
```

и вроде Дата и время нельзя проверять через ЗначениеЗаполнено
---
Попробую переделать тоже
---
хорошо, сейчас попробую
---
Если ставить НЕ ЗначениеЗаполнено(), то выдает ошибку
---
Может пора перестать быть "попугаем" и повторять [B]дословно [/B ]все что тут пишется
НЕ ЗначениеЗаполнено() - все таки надо передать что-то что будет проверять ЗначениеЗаполнено
---
```1c
    Для Каждого СтрокаТабПриемов Из Объект.ТабПриемов Цикл
    Если Не ЗначениеЗаполнено(СтрокаТабПриемов.Время1)
    Или Не ЗначениеЗаполнено(СтрокаТабПриемов.Время2) Тогда
    Продолжить;
    КонецЕсли;
    Сообщить(11);

    мЧ=(СтрокаТабПриемов.Время1);
    Пока мЧ<(СтрокаТабПриемов.Время2) Цикл
    Стр=Объект.ТабВремя.Добавить();
    Стр.ДатаПриема=СтрокаТабПриемов.ДатаПриема;
    Стр.НазвДня=СтрокаТабПриемов.НазвДня;
    ч1=(мЧ);ч2=(мЧ-ч1)*100;
    ч2=ч2+Объект.Продолжительность;
    Если ч2>59 Тогда
    ч2=ч2-60;
    ч1=ч1+1;
    КонецЕсли;
    ч3=ч1+ч2/100;
    Стр.Кабинет=СтрокаТабПриемов.Кабинет;
    Стр.Кресло=НомерКресла();
    Стр.ВремяН=мЧ;
    Стр.ВремяК=ч3;
    мЧ=ч3;
    КонецЦикла;

    КонецЦикла;
```
---
{Документ.ПакетРасписаний.Форма.ФормаДокумента.Форма(259)}: Преобразование значения к типу Булево не может быть выполнено
  Если Не ЗначениеЗаполнено(СтрокаТабПриемов.Время1) или (СтрокаТабПриемов.Время2) Тогда
---
Условие интересное такое:)

```1c
    ЗначениеЗаполнено (СтрокаТабПриемов.Время1) или (СтрокаТабПриемов.Время2)
```

Ничего никто не замечает?
---
эм..что именно?
---
Вероятно, должно быть

```1c
    ЗначениеЗаполнено (СтрокаТабПриемов.Время1) или ЗначениеЗаполнено (СтрокаТабПриемов.Время2)
```
---
посмотрите на это по другому:

```1c
    ЗначениеЗаполнено (СтрокаТабПриемов.Время1)
    или
    (СтрокаТабПриемов.Время2)
```

или что? или дата?
может вот так:

```1c
    Не ЗначениеЗаполнено(СтрокаТабПриемов.Время1) или Не ЗначениеЗаполнено(СтрокаТабПриемов.Время2)
```
---
хах, действительно
---
был еще такой вариант
Если (СтрокаТабПриемов.Время1.Пустая()) или (СтрокаТабПриемов.Время2.Пустая()) Тогда
Продолжить;
КонецЕсли;

Но если так, то выдает ошибку, что "значение не является значением объектного типа (пустая)"
---
так, в общем с этим теперь все понятно, спасибо, что указали на место причины)
невнимательна, извиняюсь.

теперь появилась другая ошибка, но пока сама подумаю что и как с ней делать и как исправить чтобы работало, спасибо всем еще раз!
---
Помогите пожалуйста еще раз)
Кто-нибудь объясните, пожалуйста, почему так происходит?

Код немного переделала вот так, и + еще как сказали. И в общем получилось так, что в ч1,ч2,ч3 тип не передается, он "неопределенный", в то время как у того же мЧ тип "дата" и у меня текущие вызовы идут без конца, так доходит и до 1к и до 2к и выше, без остановки. Почему так происходит, от чего это зависит?
---
Поставьте точку останова на Пока, напишите сюда значения из СтрокаТабПриемов.Время1 и СтрокаТабПриемов.Время2
---
```1c
    ч1=(мЧ);ч2=(мЧ-ч1)*100;
    ч2=ч2+Объект.Продолжительность;
```

Не очень понял что вы делаете этими строчками

Ч2 всегда будет 0 так как ч1 = М4 и получается Ч2= (М4-М4)*100

Далее Ч2 = Ч2+Продолжительность И что есть продолжительность ?
---
Если не ошибаюсь, то продолжительность- это время работы (40 минут, 30 минут и т.д., но по умолчанию 40)
---
Если не ошибаюсь, то продолжительность- это время работы (40 минут, 30 минут и т.д., но по умолчанию 40)
(19) и Раз ч2 по нулям, то прибавляем к нему продолжительность 40 минут, тогда так и выходит
---
Ну так зачем писать лишнюю строку если ч2 всегда 0 написали бы просто ч2 = объект.продолжительность

Вообще у меня такое ощущение что программа не входит в цикл

```1c
    Пока мЧ<(СтрокаТабПриемов.Время2) Цикл
```

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

Ну правильно и должно было перейти в конфигуратор.

Так начнем с простого - с отладкой когда-нибудь работала ?
---
Да, работала)
---
Потратила пол дня, но все-таки разобралась чего и как)
(25) Кстати, Вы правильно указали мне на то что некоторые строки просто лишние, спасибо за это!)
Переделала вот так, все работает, спасибо вам за помощь, направление некое, скажем так. остальным тоже большое спасибо за отклик)

```1c
    Для Каждого СтрокаТабПриемов Из Объект.ТабПриемов Цикл

    мЧ=СтрокаТабПриемов.Время1;
    Пока мЧ<СтрокаТабПриемов.Время2 Цикл
    Стр=Объект.ТабВремя.Добавить();
    Стр.ДатаПриема=СтрокаТабПриемов.ДатаПриема;
    Стр.НазвДня=СтрокаТабПриемов.НазвДня;
    ч1=мЧ;
    ч2=мЧ-ч1;
    ч2=ч2+Объект.Продолжительность*60;
    ч3=ч1+ч2;
    Стр.Кабинет=СтрокаТабПриемов.Кабинет;
    Стр.Кресло=НомерКресла();
    Стр.ВремяН=мЧ;
    Стр.ВремяК=ч3;
    мЧ=ч3;
    КонецЦикла;
    КонецЦикла;
```
---
```1c
    ч1=мЧ;
    ч2=мЧ-ч1;
```