Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Указать 0 в сумме документа , Бухгалтерия 2.5 ноль в суммах документов          
Alien900 Подменю пользователя
сообщение 25.08.18, 19:12
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 15
Спасибо сказали: 1 раз
Рейтинг: 0

ДОброго времени суток.
имеется Авансовый отчет, вкладка прочее. в сумму реквизита нужно иногда ставить 0, платформа (8.3.10.2299)
пробовал делать составной тип указывать, строка+число, выдает ошибку, тип строка 0 дает писать но это не числа, в печатной форме проблемы, печатную форму подправил но не всю, есть места где не выводятся числа.
в реквизите отключал проверку заполненного, не помогает. пытаюсь отключить программно, но никак не могу заставить работать ОбработкаПроверкиЗаполнения, отладчик не ловит мой код

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    Сумма  = ПроверяемыеРеквизиты.Найти ("Сумма");
    Сообщить("Сумма не заполнена",Истина);
    
    Если ЗначениеЗаполнено(Сумма) Тогда
          Сообщить("Значение Заполнено", Истина );
          
        
    
    Иначе
    
        Если НЕ ЗначениеЗаполнено(Сумма) Тогда
            Сообщить("Сумма не заполнная строка");
        КонецЕсли;
      ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Сумма"));

Отказ = Истина;
    КонецЕсли;
КонецПроцедуры


Подскажите как заставить платформу принимать 0 в числе, или может подскажет где моя ошибка

mut Подменю пользователя
сообщение 26.08.18, 8:49
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 199
Из: Новая Каховка
Спасибо сказали: 203 раз
Рейтинг: 237.5

Alien900 @ Вчера, 20:12 * ,
В формате поля можно указать представление нуля
ЧН=0

Alien900 Подменю пользователя
сообщение 26.08.18, 9:20
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 15
Спасибо сказали: 1 раз
Рейтинг: 0

mut @ Сегодня, 11:49 * ,
это не помогает. проверял. уже и формат в печатной форме менял. числа сумма не подставляет

andr_andrey Подменю пользователя
сообщение 26.08.18, 15:21
Сообщение #4

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Спасибо сказали: 166 раз
Рейтинг: 130.8

Alien900 @ Вчера, 20:12 * ,
У проверяемых реквизитов объекта должно быть установлено свойство ПроверкаЗаполнения - "Выдавать ошибку"

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

Надеюсь реквизит в документе не называется "Сумма", иначе присваивание с вызовом функции "Найти" затирает значение там хранящееся.
Процедура "Сообщить" будет вызываться всегда, и выводить сообщение "Сумма не заполнена".
Вызов процедуры сообщить должен сопровождаться ошибкой "Ошибка при вызове метода контекста (Сообщить)", так как "СтатусСообщения = Истина", надеюсь вы не хотите всех тут присутствующих ввести в заблуждение о том, что это якобы работающий код?

    Если ЗначениеЗаполнено(Сумма) Тогда
        Сообщить("Значение Заполнено", Истина );
    Иначе
        Если НЕ ЗначениеЗаполнено(Сумма) Тогда
            Сообщить("Сумма не заполнная строка");
        КонецЕсли;
        
        ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Сумма"));

Метод "Найти" у массива ПроверяемыеРеквизиты возвращает индекс в массиве либо "Неопределено" - если не было найдено, поэтому корректнее писать "Если Сумма = Неопределено Тогда".
Часть условного оператора "Иначе" уже означает, что Сумма не заполнена (вернее не равна Неопределено и содержит корректный индекс в массиве (типа Число)), поэтому не надо второго "Если НЕ ...".

        Отказ = Истина;
    КонецЕсли;

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

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

П.С. По-моему, вам не мешало бы чуток поучиться разработке в 1С на курсах или почитать учебники.

Сообщение отредактировал andr_andrey - 26.08.18, 15:22


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

Alien900 Подменю пользователя
сообщение 26.08.18, 20:57
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 15
Спасибо сказали: 1 раз
Рейтинг: 0

andr_andrey @ Сегодня, 18:21 * ,
с сообщениями разобрался. а вообще все это не правильно делал 09000000.gif не стоит изменять заполнение суммы в авансовом отчете. лучше будет добавить свой реквизит миную суммы.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 23:17
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!