Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
random_up
0 / 0 / 0
Регистрация: 06.04.2014
Сообщений: 7
1

При активизации строки пропадают данные в подчиненной табличной части

06.04.2014, 21:31. Просмотров 3387. Ответов 7
Метки нет (Все метки)

Прикрепляю файл базы!
Прикрепляю скрин формы справочника!
Вообщем имеется справочник "Рейсы" с 2-мя табличными частями: "Расписание" - главная, "Даты" - подчинённая.

В табличной части "Расписание" при переходе со строки на строку (при активизации строки), должны меняться данные в подчиненной табличной части "Даты". Сначала при открытии вообще не выводил никаких данных. Затем я добавил строку ЭтаФорма.Элементы.Расписание.Обновить(); в событие "ПриОткрытии"и при открытии формы справочника он автоматически активировал 1-ю строку в таблице "Расписание" и выводил данные по 1-й строке. НО КАК ТОЛЬКО Я ЖЕЛАЮ ПОСМОТРЕТЬ ДАННЫЕ ПО 2-й строке (щелкаю мышью на 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
39
40
41
42
43
44
45
46
47
48
49
&НаКлиенте
Перем ИсходнаяСтрока;
 
&НаСервере
Процедура УстановитьОтбор(ЗначениОтбора)
   Если ЗначениеЗаполнено(ЗначениОтбора) Тогда
       Элементы.Даты.ОтборСтрок=Новый ФиксированнаяСтруктура("Самолёт",ЗначениОтбора); 
   Иначе    
Элементы.Даты.ОтборСтрок=Новый ФиксированнаяСтрукту
ра("Самолёт",ПредопределенноеЗначение("Справочник.Самолёты.ПустаяСсылка"));
   КонецЕсли;       
КонецПроцедуры // УстановитьОтбор()
 
 
 
&НаКлиенте
Процедура РасписаниеПриАктивизацииСтроки(Элемент)
   тСтрока=Элементы.Расписание.ТекущиеДанные;
   Если Объект.Расписание.Количество()>0 и тСтрока.Самолёт<>ИсходнаяСтрока Тогда
       ЗначениОтбора=тСтрока.Самолёт;
       УстановитьОтбор(ЗначениОтбора);         
       ИсходнаяСтрока=тСтрока.Самолёт;
   КонецЕсли; 
КонецПроцедуры
 
 
&НаКлиенте
Процедура ДатыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
   Если НоваяСтрока или Копирование Тогда
       Элемент.ТекущиеДанные.Самолёт=Элементы.Расписание.ТекущиеДанные.Самолёт;
       Если Элементы.Даты.ОтборСтрок=Неопределено Тогда
           УстановитьОтбор(Элементы.Расписание.ТекущиеДанные.Самолёт);        
       КонецЕсли; 
   КонецЕсли;
КонецПроцедуры
 
 
&НаКлиенте
Процедура ДатыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
   Если Объект.Расписание.Количество()=0 Тогда
       Отказ=Истина;
   КонецЕсли;
КонецПроцедуры
 
&НаКлиенте
Процедура ПриОткрытии(Отказ)
   ИсходнаяСтрока=Неопределено;
   ЭтаФорма.Элементы.Расписание.Обновить();
КонецПроцедуры
0
Миниатюры
При активизации строки пропадают данные в подчиненной табличной части  
Вложения
Тип файла: rar 1Cv82.rar (74.6 Кб, 8 просмотров)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2014, 21:31
Ответы с готовыми решениями:

Значение строки табличной части получить в табличной части другого документа
Есть документ ПриходнаяНакладная (товар приходит от поставщика по его цене), с табличной частью...

Пересчет цены за все услуги при удалении строки табличной части документа.
Если убрать одну услугу отсюда, то цена остается вместе с предыдущей услугой которую убрали, как...

Ошибка при расчете суммы текущей строки табличной части в управляемой форме документа
Подскажите что не так ? Почему не срабатывает подсчёт? ...

Запрос. Условие: строка из первой табличной части равна любой строке из другой табличной части
Есть документ &quot;РаспределениеМатериаловНаВыпуск&quot;. У этого документа имеется &quot;Форма документа&quot;. На...

Данные - Табличной части
Как работать с данными Табличной части в запросе??? Как его тоже выгружать и записывать в него...

7
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,784
06.04.2014, 22:49 2
random_up, нужно поправить процедуру активизации строки. Типа того:
1C
1
2
3
4
5
6
7
8
9
&НаКлиенте
Процедура РасписаниеПриАктивизацииСтроки(Элемент)
    тСтрока=Элементы.Расписание.ТекущиеДанные;
    Элементы.Даты.ОтборСтрок = Неопределено;
    Если тСтрока <> Неопределено Тогда
        Элементы.Даты.ОтборСтрок=Новый ФиксированнаяСтруктура("Самолёт",тСтрока.Самолёт); 
        ИсходнаяСтрока=тСтрока.Самолёт;
    КонецЕсли;      
КонецПроцедуры
И ПриОткрытии можно не обновлять Расписание.
1
random_up
0 / 0 / 0
Регистрация: 06.04.2014
Сообщений: 7
06.04.2014, 23:14  [ТС] 3
Ольга, спасибо. Заработало.
Пока вы тут еще вопрос возник: вообщем у уже существующих вылетов мне потребовалось поменять самолет, как реализовать данную опцию?
Сейчас пробую поменять уже существующий самолет с вылетами на другой самолет, в итоге исчезает существующий самолет с вылетами и появляется новый самолет без вылетов.
А требовалось сменить самолет просто.
0
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,784
06.04.2014, 23:22 4
Лучший ответ Сообщение было отмечено random_up как решение

Решение

random_up, если я правильно поняла... То в том же справочнике Рейсы на процедуру РасписаниеСамолётПриИзменении прописываем типа:
1C
1
2
3
4
5
6
7
8
9
&НаКлиенте
Процедура РасписаниеСамолётПриИзменении(Элемент)
    ТекСамолет = Элементы.Расписание.ТекущиеДанные.Самолёт;
    ТЗ = Объект.Даты.НайтиСтроки(Новый Структура("Самолёт", ИсходнаяСтрока));
    Для к = 0 по ТЗ.Количество()-1 Цикл
        ТЗ[к].Самолёт = ТекСамолет;
    КонецЦикла;
    РасписаниеПриАктивизацииСтроки(Элемент);
КонецПроцедуры
1
random_up
0 / 0 / 0
Регистрация: 06.04.2014
Сообщений: 7
06.04.2014, 23:47  [ТС] 5
Ольга, не работает. Меняю самолет - пропадают вылеты.

Добавлено через 5 минут
А надо чтобы при смене самолета у вылетов тоже поменялся самолет. Но они просто перестают отображаться.
0
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,784
06.04.2014, 23:48 6
random_up, базу? у меня все ок, Расписание и Даты синхронизируются
1
random_up
0 / 0 / 0
Регистрация: 06.04.2014
Сообщений: 7
06.04.2014, 23:53  [ТС] 7
Заработало))) Видимо при копировании он не связался с событием. Вручную вызвал событие.
0
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,784
06.04.2014, 23:56 8
random_up, ну так да, все события надо связывать с элементами формы, а не просто прописывать
1
06.04.2014, 23:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2014, 23:56

Автоматическое заполнение табличной части документа из табличной части другого
Добрый день. Совсем недавно начал изучать 1С и пока не могу найти решения собственной задачи)...

Программное заполнение табличной части документа из табличной части справочника
Доброго! Ситуация, поставившая меня в тупик. Имеем 1с 8.2 УФ Имеем справочник &quot;Работ&quot; Имеем...

Не выводятся данные в табличной части
Добрый день, помогите пожалуйста с процедурой. Необходимо, чтобы при выборе товара в табличной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru