Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Автомптическое оновление в ТЗ на форме.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
volodya1122
Сначала опишу ситуацию.
Есть документ (Товар в ремонте). В нем реквизит "СтанРемонта" Тип "Число" (1- Принят, 2- передан в СЦ, 3- Заказано запчасти, 4 - выполнен, 5- выдан клиенту). И так как в журнале все вперемешку я сделал Отчет. Поместил на форму ТаблицуЗначений. Установил флажки, для выбора документы с каким статусом показывать. Повесил на каждый флажок процедуру ПересчитатьТЗ(). Это все красиво работает.

А теперь о проблеме. Чтобы вообще исключить работу в журнале этого документа, а только в отчете, я добавил кнопку создания нового документа в этом отчете. Документ создается но в ТЗ он не появляется до тех пор пока не ПересчитатьТЗ(). Что логично.
Можно как то реализовать чтобы после создания нового документа в отчете запускался автоматически ПересчитатьТЗ()?

И еще вопрос. Можно ли выводить Данные в ТЗ в несколько строк как в ЖурналеДокумментов?
korol1091
1) Что мешает в обработчике кнопки по созданию документа поставить ПересчитатьТЗ() в конце?
2) Да. Колонка ТЗ, свойство "положение"
volodya1122

Цитата(korol1091 @ 08.07.16, 10:30) необходимо зарегистрироваться для просмотра ссылки
2) Да. Колонка ТЗ, свойство "положение"


Вы спутали с Журналом документов. В свойствах Таблицы значений нет закладки "положение"

Цитата(korol1091 @ 08.07.16, 10:30) необходимо зарегистрироваться для просмотра ссылки
1) Что мешает в обработчике кнопки по созданию документа поставить ПересчитатьТЗ() в конце?


Не срабатывает
korol1091
volodya1122 @ Сегодня, 11:10 необходимо зарегистрироваться для просмотра ссылки,

1) Вы перечитываете ТЗ, которую отображаете в ТП? Проверьте существование нового документа в ТЗ, а потом попробуйте ТП.СоздатьКолонки().

2) Тут я ошибся, Таблисчное Поле, конечно. ТЗ не имеет собственного визуального объекта, кроме как ВыбратьСтроку.
Все табличные штуки отображаются через ТабличноеПоле, вот у него в колонках и ищите.

volodya1122
korol1091 @ Сегодня, 11:37 необходимо зарегистрироваться для просмотра ссылки,

"Моя твоя не понимать....."

Что вы имеете в виду под табличным полем? На форму вставил обычную таблицу значений где и отображаю список нужных мне докумментов.
Да, пересчитываю ТЗ которая отображается на форме.. И когда проверять существование нового документа?

Может можно что-то придумать с Форма.ОбработкаОжидания? Или будет грузить систему?


Оказалось все намного проще.
В документе на стандартную Кнопку "ОК" Повесил свою процедуру записи
         Записать();
             ОткрытьФорму("Отчет.Ремонты");
        Форма.Закрыть();


А в отчете написал следующий код
Процедура ПриПовторномОткрытии()
Обновить();  // пересчет ТЗ
КонецПроцедуры



а теперь возник другой вопрос.....
Все это работает отлично только для одного пользователя. Если отчет открыт в двух и более пользователей, то второй пользователь увидит новые документы только после того как у себя нажмет "Обновить" или также создаст новый документ.
Но думаю эту проблему уже простым путем не решить.....
Sharzem
volodya1122 @ Сегодня, 12:53 необходимо зарегистрироваться для просмотра ссылки,
))), решить !

В документе уберите:
ОткрытьФорму("Отчет.Ремонты");


Два года назад реализовывал Универсальный журнал документов для своей конфигурации в виде ТЗ, здесь начало идеи:
необходимо зарегистрироваться для просмотра ссылки

Думаю что и у Вас никаких проблем не будет.
korol1091
ОМГ, я думал это про восьмерку. Сорри.
Sharzem
korol1091 @ Сегодня, 17:41 необходимо зарегистрироваться для просмотра ссылки,

Разницы в версиях при сегодняшних возможностях ОС нет.
Можно 8-ю смотреть как там сделано, если есть кто подскажет реализацию методов ))), только подходы реализации и задействование языков разные.

Не скоро еще умрет семерка, все зависит от тех кто ее обслуживает ))).
Мое мнение, 8-ка - объемная и тупая, хотя сами на 8-й Бух учет ведем (с чего и сделал такой вывод).
Связано это только с сопровождением (рук только одна пара), а так сидели бы и далее на 7-ке.
volodya1122
всетаки сдедал через журнал. Повесил нужные отборы... Правда пришлось добавить в документ 8 шт новых реквизитов для осуществления разных отборов.
korol1091
Sharzem @ 08.07.16, 18:02 необходимо зарегистрироваться для просмотра ссылки,
Ну да, разницы нет - попробуйте в клюшках выводить ТЗ на форму в две строки, как просил автор.
Sharzem
Цитата(korol1091 @ 11.07.16, 12:34) необходимо зарегистрироваться для просмотра ссылки
выводить ТЗ на форму в две строки


Согласен, в 7.7. в две строки выводятся только многострочные части. Поэтому такое для ТЗ не принципиально.
Честно, за годы работы идея вывода ТЗ в две строки как-то даже в голову не приходила. Дерево, было ... ТЗ в две строки ... нет.

Цитата(korol1091 @ 11.07.16, 12:34) необходимо зарегистрироваться для просмотра ссылки
ТЗ на форму в две строки


Почитал, поговорил, пообщался, обновил знания, в итоге вывод: в 7.7. вывести ТЗ в две строки которые можно редактировать нереально.
Но, возможно:
1. Визуальный обман пользователя с выводом данных как в многострочной части, но будет работать только для просмотра, как картинка.
2. Внесение изменений в платформу - дорого, дорого, очень дорого и противоречит авторским правам.

Возможно, пройдет немного времени и такое ВОЗМОЖНО станет реальным.

У кого-то есть другое мнение ???
sava1
Цитата(Sharzem @ 11.07.16, 13:53) необходимо зарегистрироваться для просмотра ссылки
в 7.7. вывести ТЗ в две строки которые можно редактировать нереально.

Специально для таких случаев придумали 1срр + Табличное Поле
Sharzem
Цитата(sava1 @ 11.07.16, 14:17) необходимо зарегистрироваться для просмотра ссылки
1срр + Табличное Поле


Почитал здесь необходимо зарегистрироваться для просмотра ссылки

1. УстТаблицуЗначений / SetValueTable
Синтаксис: УстТаблицуЗначений(ТаблицаЗначений)
Параметры:
ТаблицаЗначений - тип: ТаблицаЗначений. Объект таблицы значений для отображения.
Описание: Устанавливает таблицу значений. Она будет использоваться, как источник данных для отображения в табличном поле.

2. Положение / Location
Доступ: чтение и запись.
Тип: Число
Описание: Определяет положение колонки относительно предыдущей колонки.

Так что, ув. korol1091, коллективный разум на 7.7. еще утрет нос 8-ке icon_beer17.gif
korol1091
Да? А теперь попробуйте сделать так, чтобы 1срр-шное Табличное Поле меняло свой размер при разворачивании-сворачивании формы. Получится? Я уже не говорю про кнопку-подложку, пусть будет, хрен с ней.

Но вообще, конечно, прямые запросы + Индексированная таблица - это гениальные штуки. Восьмерочная ТЗ выглядит просто высером имбецилов по сравнению с Индексированной таблицей.
Sharzem
korol1091 @ Вчера, 10:15 необходимо зарегистрироваться для просмотра ссылки,

Процедура ПриИзмененииРазмераОкна(ТипСобытия,Ширина,Высота)
    Перем ШиринаАтрКн,ЛевоАтр,ЛевоАтр1,ШиринаАтр,ВысотаАтр,ВерхАтр,ВерхАтр1;
    Атр1 = СоздатьОбъект("АтрибутФормы");
    Атр1.УстановитьАтрибут(Форма,"ТаблицаЗнач");
    Атр1.ПолучитьКоординаты(ЛевоАтр1,ВерхАтр,ШиринаАтр,ВысотаАтр);
    
    Атр2 = СоздатьОбъект("АтрибутФормы");
    Атр2.УстановитьАтрибут(Форма,"кнЗакрыть");
    Атр2.ПолучитьКоординаты(,,ШиринаАтрКн);
    Атр2.УстановитьКоординаты(ЛевоАтр1+ШиринаАтр-ШиринаАтрКн);
    Атр2.ПолучитьКоординаты(,ВерхАтр1,);
    
        
    Атр2.УстановитьАтрибут(Форма,"ТаблицаДанных");
    Атр2.ПолучитьКоординаты(ЛевоАтр,ВерхАтр,,);
    лпВысота = ВерхАтр1 - ВерхАтр;
    Атр2.УстановитьКоординаты(,,ЛевоАтр1+ШиринаАтр-ЛевоАтр,ВысотаАтр);
КонецПроцедуры


Подойдет ?

Я не работал с Табличным полем никогда, но поскольку это реквизит формы, то и управлять им проблем не возникнет.
korol1091
Это идея, но когда на форме 20 элементов, становится грустно.
sava1
korol1091 @ Сегодня, 10:25 необходимо зарегистрироваться для просмотра ссылки,
Класс "Привязки" - и никиких "грустно".
А вообще-то, чтобы рассуждать о предмете, надо его знать.
"Я так думаю..."
Cthulhu
Цитата(volodya1122 @ 08.07.16, 11:53) необходимо зарегистрироваться для просмотра ссылки
а теперь возник другой вопрос.....

Цитата(volodya1122 @ 08.07.16, 11:53) необходимо зарегистрироваться для просмотра ссылки
можно что-то придумать с Форма.ОбработкаОжидания

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.