helpf.pro
Регистрация

v8.3: Условие для формы выбора

AlexeyVM
26.05.2017 03:56Прочитано: 1893

Добрый день.

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

Код 1C v 8.3
 &НаКлиенте
Процедура ДатаПриИзменении(Элемент)
Объект.Сумма = ПериодическийПриход.Заполнение(Объект.Дата,Объект.КошелекПоступления, Объект.Отправитель);
ПараметрыФормы = Новый Структура;
    Настройки = Новый НастройкиКомпоновкиДанных;
    
    ЭлементОтбораДатаНачала                   = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбораДатаНачала.ЛевоеЗначение     = Новый ПолеКомпоновкиДанных("Регистратор.Дата");
    ЭлементОтбораДатаНачала.ВидСравнения      = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
    ЭлементОтбораДатаНачала.ПравоеЗначение    = НачалоДня(Объект.Дата);
    ЭлементОтбораДатаНачала.Использование     = Истина;
    
    ЭлементОтбораДатаОкончания                = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбораДатаОкончания.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Регистратор.Дата");
    ЭлементОтбораДатаОкончания.ВидСравнения   = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
    ЭлементОтбораДатаОкончания.ПравоеЗначение = КонецДня(Объект.Дата);
    ЭлементОтбораДатаОкончания.Использование  = Истина;

ПараметрыФормы.Вставить("ФиксированныеНастройки", Настройки);
Закрытиее = Новый ОписаниеОповещения("ОписаниеЗакрытия",ЭтаФорма);
    ОткрытьФорму("РегистрСведений.ПериодическийПриход.ФормаСписка",ПараметрыФормы,ЭтаФорма,,,,Закрытиее); 
КонецПроцедуры


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


и код формы выбора регистра сведений:

Код 1C v 8.3
 
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
    ВыбранноеЗначение = Новый Структура;
ВыбранноеЗначение.Вставить("Отправитель",Элементы.Список.ТекущиеДанные.Отправитель);
ВыбранноеЗначение.Вставить("Сумма", Элементы.Список.ТекущиеДанные.Сумма);
ВыбранноеЗначение.Вставить("Кошелек", Элементы.Список.ТекущиеДанные.КошелекПоступления);
ОповеститьОВыборе(ВыбранноеЗначение);
КонецПроцедуры


Yandex
Возможно, вас также заинтересует
Реклама на портале
AlexeyVM
29.05.2017 04:33Ответ № 1
Вопрос закрыт!
Подсказка: Вы можете приложить к ответу файл или изображение щелкнув по значку или в редакторе.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.