Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
30 мар 2024, 06:33

Проверка введены ли данные в поле

Автор korvindeson, 16 апр 2013, 02:27

0 Пользователей и 1 гость просматривают эту тему.

korvindeson

Добрый день! За тупость вопроса ногами умоляю не бить. Программирование в 1С не изучал, на основе имеющихся обработок сделал внешнюю обработку для выгрузки файла в банк. Только не нашёл как сделать проверку введены ли данные в поле формы (как обозвать не знаю, в скриншоте).
Нужен примерно такой алгоритм


    Если НомерВедомости = "" Тогда
//Вывести диалог с возможностью ввести или просто вывести ошибку, мол введите
    КонецЕсли;


Заранее благодарен :D

korvindeson

И ещё вопрос.
Если Выборка.СпособВыплаты = Перечисления.СпособыВыплатыЗарплаты.ЧерезБанк Тогда
//собственно код
КонецЕсли;

Как тут уточнить какой именно банк я хочу?

PS Справка в 1С-ке жутко стрёмная

mixqn

Если тип поля - строка, то подойдет ваш вариант:
Цитата: korvindeson от 16 апр 2013, 02:27

    Если НомерВедомости = "" Тогда
//Вывести диалог с возможностью ввести или просто вывести ошибку, мол введите
    КонецЕсли;

Есть универсальный метод ЗначениеЗаполнено(), т.е. проверка на пустое значение будет выглядеть так:

Если НЕ ЗначениеЗаполнено(НомерВедомости) Тогда
//Вывести диалог с возможностью ввести или просто вывести ошибку, мол введите
КонецЕсли;
Цитата: korvindeson от 16 апр 2013, 02:55Как тут уточнить какой именно банк я хочу?
надо видеть структуру данных целиком. покажите хотя бы полностью запрос.

korvindeson

Мixqn, благодарю. Что вы имеете ввиду под "надо видеть структуру данных целиком" не вполне понятно, так что чёрт с ним если что, код процедуры ниже. Главное сделано, а про банк так, красивость.


Процедура КоманднаяПанель1Заполнить(Кнопка)

Если Не ЗначениеНеЗаполнено(Организация) Тогда
ПолучитьКодНажатие(Кнопка);
КонецЕсли;


СписокДокументов.Очистить();
Выборка = Документы.ЗарплатаКВыплатеОрганизаций.Выбрать(ДатаНачала, ДатаОкончания);

Пока Выборка.Следующий() Цикл

Если Выборка.ПометкаУдаления Тогда
Продолжить;
КонецЕсли;

Если Не ЗначениеНеЗаполнено(Организация) Тогда
Если Выборка.Организация <> Организация Тогда
Продолжить;
КонецЕсли;
КонецЕсли;

Если Выборка.СпособВыплаты = Перечисления.СпособыВыплатыЗарплаты.ЧерезКассу Тогда
Продолжить;
КонецЕсли;

//Если Выборка.СпособВыплаты = Перечисления.СпособыВыплатыЗарплаты.ЧерезБанк Тогда --> Тут бы выбрать банк
    Стр = СписокДокументов.Добавить();
        Стр.Дата            = Выборка.Дата;
    Стр.Комментарий     = Выборка.Банк;
    Стр.МесяцНачисления = Выборка.ПериодРегистрации;
                    ПроцедурыУправленияПерсоналом.ЗаполнитьКраткийСоставДокумента(Выборка.Зарплата,"Физлицо");
              Стр.Номер           = Выборка.Номер;
    Стр.Организация     = Выборка.Организация;
    Стр.Документ        = Выборка.Ссылка;
        //КонецЕсли;
КонецЦикла;
КонецПроцедуры

Dethmontt

Сообщить(Выборка.Банк);
Добавлено: 16 апр 2013, 23:50


И вообще эту строку лучше заменить на запрос
Выборка = Документы.ЗарплатаКВыплатеОрганизаций.Выбрать(ДатаНачала, ДатаОкончания);

Тогда не нужны будут эти куски
Если Выборка.ПометкаУдаления Тогда
            Продолжить;
        КонецЕсли;   
       
        Если Не ЗначениеНеЗаполнено(Организация) Тогда
            Если Выборка.Организация <> Организация Тогда
                Продолжить;           
            КонецЕсли;   
        КонецЕсли;   
       
        Если Выборка.СпособВыплаты = Перечисления.СпособыВыплатыЗарплаты.ЧерезКассу Тогда
            Продолжить;
        КонецЕсли;

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

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск