Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Обычные формы УПП выбор договора с отбором по контрагенту.

Здравствуйте.
Для выбора договора с отбором по контрагенту в УФ достаточно указать связь параметров выбора.
В обычных формах видимо не так? Установил связь. Но почему то не срабатывает. Список договоров весь открывается.
Ответ:
у договора по сути дела два владельца - этоорганизациия и контрагент. т.к по одному контрагенту может быть куча договоров по разным организациям.

Есть процедура
НачалоВыбораЗначенияДоговораКонтрагента

если вы ее откроетет то там увидет код, который устанвливает отборы

По контрагенту

Код:
ФормаВыбора = Справочники.ДоговорыКонтрагентов.ПолучитьФормуВыбора(,ЭлементФормы,);

    // Владельца менять по умолчанию не даем.
    ФормаВыбора.ПараметрОтборПоВладельцу = Контрагент;
    ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Владелец.Доступность = Ложь;
затем там по виду договора с поставщиком подрядчиком и т.д
и далее по организации

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

ВСЕМ привет.
чета не могу найти
как ПРОГРАММНО СОЗДАТЬ ОБЫЧНУЮ ФОРМУ ИЛИ ХОТЯ БЫ ДОБАВИТЬ РЕКВИЗИТ ОБЫЧНОЙФОРМЫ?
неужто нельзя добавить реквизит или переменную обычной формы программно?
Ответ: Формы создавать программно нельзя. Реквизиты добавлять программно можно только в управляемых формах, в обычных только элементы управления.
Вопрос: Замена обычной формы документа на управляемую

Собственно, решил заменить обычную форму на управляемую для документа
Создал управляемую форму, в свойствах установил ее как основную, оттестировал - все работает.
Из формы списка (обычная) существующий документ открывает нормально,
а вот при создании нового - открывает как будто ее нет - т.е. все реквизиты по порядку в одну колонку.
Впервые столкнулся - что может быть?
Платформа 1С:Предприятие 8.3 (8.3.6.2014)
Режим совместимости Версия 8.2.16
Ответ: ОбработкаРеквизита() - сначала в модуль формы - потом в модуль объекта - потом в общий модуль
Вопрос: Сортировка в форме списка документов (обычные формы)

Может кто-то решал задачу сортировки в обычной форме списка документов не по реквизитам документа? Есть список документов в нем кроме реквизитов есть еще дополнительные колонки со значениями из регистра сведений, задача отсортировать по таким значениям
Ответ:
Есть ещё одно решение - использовать управляемую форму в обычном приложении и использовать её основной формой списка.
Там уже в динамическом списке можно произвольный запрос сделать, и сортировка по умолчанию будет доступна по твоим полям из другой таблицы.

Вложения:

  • Размер файла:
    268 КБ
    Просмотров:
    3
Вопрос: Обновить форму списка справочника программно в обычных формах (перечитать данные)

Доброго времени суток, Уважаемые!
Подскажите, как в обычных формах сделать следующее:
открыта форма списка справочника допустим,из другой обработки мы меняем реквизит справочника, который расположен на форме списка, подскажите, как программно в этой обработке после изменения соответствующего реквизита заново перечитать данные в форме списка справочника, что бы данные обновились?
Заранее спасибо за ответы"
Ответ:
в Синтаксис-Помощнике есть описание и, возможно, примеры кода.

В первом приближении:
ОповеститьОбИзменении(СсылкаОбновляемогоТипа).

В основной форме списка обновляемого типа, так понимаю, должно произойти обновление автоматически.
Вопрос: Вывод результата запроса на обычную форму

Здравсвуйте! Мне надо вывести данные, полученные из запроса на обычную форму 8.2
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Запрос=Новый Запрос;
    
    Запрос.Текст="ВЫБРАТЬ
                 |  ВозвратТоваровОтПокупателя.Ссылка,
                 |  ВозвратТоваровОтПокупателя.СуммаДокумента,
                 |  ВозвратТоваровОтПокупателя.Дата
                 |ИЗ
                 |  Документ.ВозвратТоваровОтПокупателя КАК ВозвратТоваровОтПокупателя
                 |ГДЕ
                 |  ВозвратТоваровОтПокупателя.Дата МЕЖДУ &НачалоПериода И &КонецПериода
                 |
                 |ОБЪЕДИНИТЬ ВСЕ
                 |
                 |ВЫБРАТЬ
                 |  РеализацияТоваровУслуг.Ссылка,
                 |  РеализацияТоваровУслуг.СуммаДокумента,
                 |  РеализацияТоваровУслуг.Дата
                 |ИЗ
                 |  Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
                 |ГДЕ
                 |  РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода";
    
                 Запрос.УстановитьПараметр("НачалоПериода",НачалоПериода);
    Запрос.УстановитьПараметр("КонецПериода",КонецПериода);
 
Результат=Запрос.Выполнить().Выбрать();
ТаблицаЗначений= Новый ТаблицаЗначений;
Стр1=ЭлементыФормы.СписокДокументов.Возврат;
Стр2=ЭлементыФормы.СписокДокументов.Реализация;
Стр3=ЭлементыФормы.СписокДокументов.Сумма;
Пока Результат.Следующий() Цикл
     Стр1=ТаблицаЗначений.Добавить(Результат.Возврат);
     Стр2=ТаблицаЗначений.Добавить(Результат.Реализация);
         Стр3=ТаблицаЗначений.Добавить(Результат.Сумма);
 
 
  КонецЦикла;
КонецПроцедуры
К тому же я устанавливаю 2 параметра и выводится ошибка:
Переменная не определена (НачалоПериода)


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

Добрый день, уважаемые форумчане.

Подскажите пожалуйста, как правильно разместить диаграмму на обычной форме?
На данный момент, у меня есть вот такой код:

Процедура КнопкаВыполнитьНажатие(Кнопка)
    
   ЭлементыФормы.ПолеТБ.Очистить();    
   Диаг = ЭлементыФормы.Добавить(Тип("Диаграмма"), "Диаграмма", Истина, ЭлементыФормы.ПолеТБ);
   Диаг.ТипДиаграммы = ТипДиаграммы.График;
 
    
   Диаг.Обновление = Ложь;
   Диаг.АвтоТранспонирование = Ложь;
 
   Диаг.Верх = 10;
   Диаг.Лево = 10;
 
   Диаг.Ширина = 300;
   Диаг.Высота = 150;
 
   КонтрагентыСоздание = Диаг.УстановитьСерию("Даты создания");
 
   
   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    КОЛИЧЕСТВО(Контрагенты.Ссылка) КАК Ссылка,
                  |    Контрагенты.ДатаСоздания КАК ДатаСоздания
                  |ИЗ
                  |    Справочник.Контрагенты КАК Контрагенты
                  |
                  |СГРУППИРОВАТЬ ПО
                  |    Контрагенты.Ссылка,
                  |    Контрагенты.ДатаСоздания
                  |
                  |УПОРЯДОЧИТЬ ПО
                  |    ДатаСоздания";
   ТаблицаРезультатаЗапроса = Запрос.Выполнить().Выгрузить();
   ТаблицаРезультатаЗапроса.Свернуть("ДатаСоздания","Ссылка");
  
   
   Данные = Новый ГенераторСлучайныхЧисел;
   КоличествоКонтрагентов = ТаблицаРезультатаЗапроса.Количество();
   
   Для Каждого Элемента Из ТаблицаРезультатаЗапроса Цикл
       ДатаСоздания = Формат(Элемента.ДатаСоздания,"ДФ=dd.MM.yy");
       ТочкаДиаграммы = Диаг.УстановитьТочку(ДатаСоздания);
       Диаг.УстановитьЗначение(ТочкаДиаграммы, КонтрагентыСоздание, Элемента.Ссылка );
   КонецЦикла; 
 
 
   Диаг.Обновление = Истина;
   Диаг.АвтоТранспонирование = Истина;
   Диаг.Видимость = Истина;
     
   КонецПроцедуры

Собственной код работает, но есть одна проблема, связана она вот  с этой строчкой кода:
 Диаг = ЭлементыФормы.Добавить(Тип("Диаграмма"), "Диаграмма", Истина, ЭлементыФормы.ПолеТБ);

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

В интернете есть несколько примеров, когда к диаграмме обращаются так
Диаграмма = ЭлементыФормы.Диаграмма;

Но насколько я понял, диаграмму можно разместить только в табличном документе?

С уважением, Алексей!
Ответ: Решил так проблему с повторным вызовом процедуры.

Если ЭтаФорма.ЭлементыФормы.Найти("Диаграмма") <> Неопределено Тогда
       ЭлементыФормы.Диаграмма.Очистить();
       Диаг =  ЭлементыФормы.Диаграмма;
   Иначе
       Диаг = ЭлементыФормы.Добавить(Тип("Диаграмма"), "Диаграмма", Истина, ЭлементыФормы.ПолеТБ);
 КонецЕсли;
Вопрос: как получить значение реквизита контрагент из формы документа ?

Подскажите. Из  документа вызываю форму списка справочник

Процедура ПриОткрытии()
ЭтаФорма.ЭлементыФормы.СправочникСписок.Значение.Отбор.КОнтрагент.Значение=Справочники.Контрагенты.НайтиПоКоду("000000420");здесь нужен контрагент из документа

ЭтаФорма.ЭлементыФормы.СправочникСписок.Значение.Отбор.КОнтрагент.Использование=Истина;

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

как получить значение реквизита контрагент из формы документа ?
Ответ: () Передай параметром и прочитай в ПараметрыЗаполнения.
Вопрос: Есть ли способ перевести обычную форму в УФ?

Добрый день.
Есть старая обработка с обычной формой, подскажите существуют ли способы перевести обычную форму в управляемую? (ну кроме ручной перерисовки формы).
Ответ:
Нет, только вручную, т.к. еще и код придется переписать, возможно даже полностью
Вопрос: почему не сохраняются пользовательские настройки скд на обычных формах?

Когда речь идет о настройках КомпоновщикНастроек.ПользовательскиеНастройки на управляемых формах, настройки сохраняются сами собой. т.е. при открытии отчета повторно в настройках (дата начала окончания и т.д.) мы увидим те же значения как перед закрытием.
Когда же речь идет тех же настройках на обычной форме (они конечно же сами по себе на обычных формах не отображаются, но в свойстве КомпоновщикНастроек.ПользовательскиеНастройки почему-то нет.
Может кто знает как нужно сделать чтобы они там сохранялись. Может флажок какой поставить надо?
Ответ: "у внешнего отчета о каких хранилищах может идти речь?" // Это будет для тебя сюрпризом, но у внешнего отчета есть свойства. Палитра свойств открывается через Действия - Свойства. Бинго!