Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Авг 2020, 06:05
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: запрет пустых строк  (Прочитано 253 раз)

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

Оффлайн Тари

  • *
  • Сообщений: 16
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-06-16
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день.
Подскажите, при нажатии на кнопку "Добавить", добавляется новая строка, хочу сделать следующее: если в строке есть данные, то строка добавляется, если в первую строку никаких данных не вели, то новые строки не добавляются.

Пробовала следующий код
&НаКлиенте
Процедура РасчетСтажаПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
ТекСтрока = Элементы.РасчетСтажа.ТекущиеДанные;
Если ТекСтрока <> Неопределено Тогда
            ОтменаРедактирования = Истина;   
            НоваяСтрока = Ложь;               
           КонецЕсли;
КонецПроцедуры
Поля все равно добавляются.

1С:Предприятие 8.3. Конфигурация Зарплата и кадры высшего учебного заведения, редакция 1.0


Оффлайн alexandr_ll

  • *****
  • Сообщений: 1398
  • РЕПУТАЦИЯ: 211
  • КПД: 15%
  • Регистрация: 2016-08-23
  • Сайт: 
  • Профессия: Программист 1С
Добрый день.
Подскажите, при нажатии на кнопку "Добавить", добавляется новая строка, хочу сделать следующее: если в строке есть данные, то строка добавляется, если в первую строку никаких данных не вели, то новые строки не добавляются.

Пробовала следующий код
&НаКлиенте
Процедура РасчетСтажаПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
ТекСтрока = Элементы.РасчетСтажа.ТекущиеДанные;
Если ТекСтрока <> Неопределено Тогда
            ОтменаРедактирования = Истина;   
            НоваяСтрока = Ложь;               
           КонецЕсли;
КонецПроцедуры
Поля все равно добавляются.

1С:Предприятие 8.3. Конфигурация Зарплата и кадры высшего учебного заведения, редакция 1.0
https://helpf.pro/faq8/view/492.html

Оффлайн LexaK

  • *****
  • Сообщений: 2215
  • РЕПУТАЦИЯ: 650
  • КПД: 29%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
Тари, попробуйте использовать событие ПередНачаломДобавления
вот пример (для упр форм), свои имена реквизитов проверьте/подставьте
Внимание: не забудьте прописать/назначить эту процедуру обработчику данного события
&НаКлиенте
Процедура РасчетСтажаПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
//ищем пустую строку, можно изменить условия поиска
лкСтроки = Объект.РасчетСтажа.НайтиСтроки(Новый Структура("ДатаНачала",Дата(1,1,1)));
Если лкСтроки.Количество() > 0 Тогда
//есть строка с пустой датой, становимся на нее
Отказ = Истина;
Элементы.РасчетСтажа.ТекущаяСтрока = лкСтроки[0].ПолучитьИдентификатор();
КонецЕсли;

КонецПроцедуры
Помогло? - Нажми СПАСИБО (под аватаром) !!!
                       :)

Оффлайн Тари

  • *
  • Сообщений: 16
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-06-16
  • Сайт: 
  • Профессия: Ученик 1С
Тари, попробуйте использовать событие ПередНачаломДобавления
вот пример (для упр форм), свои имена реквизитов проверьте/подставьте
Внимание: не забудьте прописать/назначить эту процедуру обработчику данного события
&НаКлиенте
Процедура РасчетСтажаПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
//ищем пустую строку, можно изменить условия поиска
лкСтроки = Объект.РасчетСтажа.НайтиСтроки(Новый Структура("ДатаНачала",Дата(1,1,1)));
Если лкСтроки.Количество() > 0 Тогда
//есть строка с пустой датой, становимся на нее
Отказ = Истина;
Элементы.РасчетСтажа.ТекущаяСтрока = лкСтроки[0].ПолучитьИдентификатор();
КонецЕсли;

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

Спасибо за совет) немного сделала по-другому
&НаКлиенте
Процедура РасчетСтажаПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
ТекСтрока = Элементы.РасчетСтажа.ТекущиеДанные;
Для каждого лкСтр Из РасчетСтажа Цикл //из таблицы формы
        Если лкСтр <> ТекСтрока Тогда //кроме самой себя
    Если НЕ ЗначениеЗаполнено(лкСтр.ДатаНачала)
        и НЕ ЗначениеЗаполнено(лкСтр.ДатаОкончания) Тогда
  Отказ = ИСТИНА;
       Предупреждение("не ведены данные");
  КонецЕсли;
        КонецЕсли;
    КонецЦикла;

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

Оффлайн LexaK

  • *****
  • Сообщений: 2215
  • РЕПУТАЦИЯ: 650
  • КПД: 29%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
Тари, этот код мы для другой задачи использовали, в применении к этой задачи это Гов-код!
1.проверка условия - если хоть одна дата заполнена - то она не сработает
например ДатаНачала - пустая, ДатаОкончания - Заполнена (по идее это ошибка) ваша проверка не сработает,
2.что за сообщение: не введены данные  ??? какие данные? в какой строке?
3.перебор данных в цикле???
4.Пердупреждение - при НЕ модальном режиме будет сообщение об ошибке

Вывод: не все задачи можно решать с помощью КопиПаста
Помогло? - Нажми СПАСИБО (под аватаром) !!!
                       :)

Оффлайн Тари

  • *
  • Сообщений: 16
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2020-06-16
  • Сайт: 
  • Профессия: Ученик 1С
Тари, этот код мы для другой задачи использовали, в применении к этой задачи это Гов-код!
1.проверка условия - если хоть одна дата заполнена - то она не сработает
например ДатаНачала - пустая, ДатаОкончания - Заполнена (по идее это ошибка) ваша проверка не сработает,
2.что за сообщение: не введены данные  ??? какие данные? в какой строке?
3.перебор данных в цикле???
4.Пердупреждение - при НЕ модальном режиме будет сообщение об ошибке

Вывод: не все задачи можно решать с помощью КопиПаста

Да, тут Вы правы.
Мне надо было сделать, чтоб не было добавлять возможности бесконечно много полей и вывести ошибку, о том что не ведены данные.
При том коде, получается вот так (рисунки).


Теги:
 

(Копирование строк из ТЧ документа в ТЧ другого документа в Обычном приложении)

Автор GanG031Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 4945
Последний ответ 25 Янв 2016, 19:01
от cska-fanat-kz
Рассчет НДФЛ в документе "Начисление зарплаты" при вводе строк вручную

Автор AzgerdРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 4580
Последний ответ 28 Янв 2013, 08:33
от Azgerd
как настроить реглам.отчетность, чтобы из расшифровок строк попадать в оборотно-сальдовые ведомости

Автор ВофисРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 3213
Последний ответ 06 Авг 2015, 09:36
от vitasw
Поиск одинаковых строк в результате запроса на основе которые нужно написать обработку

Автор ElfidorРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 533
Последний ответ 12 Дек 2019, 20:59
от depb
Вывести заголовок колонки Таблицы в УФ (Табличная часть документа) в несколько строк

Автор dv.garkinРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3131
Последний ответ 27 Окт 2017, 15:15
от dv.garkin

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
82 Сообщений
LexaK
30 Сообщений
ToryFree ToryFree
28 Сообщений
antoneus antoneus
27 Сообщений
alexandr_ll
26 Сообщений
Алексей_1985_06
17 Сообщений
DmitriyF DmitriyF
17 Сообщений
BuhRust
14 Сообщений
Алексей Рожков Алексей Рожков
12 Сообщений
judnikov
10 Сообщений

* Кто онлайн

  • Точка Гостей: 160
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal