Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
1

Работа в табличном поле

25.03.2016, 11:51. Просмотров 853. Ответов 1
Метки нет (Все метки)

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

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
    Запрос = Новый Запрос;
    
    УсловиеНасПункт = ?(НаселенныйПункт.Пустая(), "", " И ЛицевыеСчетаАбонентов.НаселенныйПункт = &НаселенныйПункт ");
    УсловиеРегион = ?(Регион.Пустая(), "", " И ЛицевыеСчетаАбонентов.Регион = &Регион ");
    УсловиеЗдание = ?(Здание.Пустая(), "", " И ЛицевыеСчетаАбонентов.Владелец = &Здание ");
    
    Запрос.Текст = "ВЫБРАТЬ
    |   ЛицевыеСчетаАбонентов.Ссылка,
    |   ЛицевыеСчетаАбонентов.АбонентскийУчасток,
    |   ЛицевыеСчетаАбонентов.Регион,
    |   ЛицевыеСчетаАбонентов.Улица,
    |   ЛицевыеСчетаАбонентов.НаселенныйПункт,
    |   ЛицевыеСчетаАбонентов.Участок,
    |   ЛицевыеСчетаАбонентов.Владелец
    |ИЗ
    |   Справочник.ЛицевыеСчетаАбонентов КАК ЛицевыеСчетаАбонентов
    |ГДЕ
    |   ЛицевыеСчетаАбонентов.АбонентскийУчасток = &АбонентскийУчасток
    |" + УсловиеНасПункт + УсловиеРегион + УсловиеЗдание +"
    |   И ЛицевыеСчетаАбонентов.Улица = &Улица";
    
    Запрос.Параметры.Вставить("АбонентскийУчасток", ЭлементыФормы.АбонентскийУчасток.Значение);
    Запрос.Параметры.Вставить("Регион", ЭлементыФормы.Регион.Значение);
    Запрос.Параметры.Вставить("НаселенныйПункт", ЭлементыФормы.НаселенныйПункт.Значение);
    Запрос.Параметры.Вставить("Здание", ЭлементыФормы.Здание.Значение);
    
    Для Каждого СтрокаТП из ТП Цикл
        Запрос.Параметры.Вставить("Улица", СтрокаТП.Улицы);
    КонецЦикла; 
        
        Результат = Запрос.Выполнить().Выбрать();
         НомерСтр=0;
         Пока Результат.Следующий() Цикл
             НомерСтр=НомерСтр+1;
            Объект = Результат.Ссылка.ПолучитьОбъект();
            Объект.Участок = ЭлементыФормы.Участок.Значение;
            Объект.Записать();
            Состояние("Номер строки: "+НомерСтр);
        КонецЦикла;
Почему то добавляется участок только в последней улице, как сделать чтобы в каждой добавил?

Добавлено через 5 минут
И как можно проверить на пустое значение в ТП, если Улица не заполнена заполняем по всем улицам, на подобии

1C
1
УсловиеНасПункт = ?(НаселенныйПункт.Пустая(), "", " И ЛицевыеСчетаАбонентов.НаселенныйПункт = &НаселенныйПункт ");
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2016, 11:51
Ответы с готовыми решениями:

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

Как в Табличном поле отобразить иерархический справочник в виде дерева
как в табличном поле отразить элементы справочника(иерархического) в виде дерева

В табличном поле в текущей строке установить тип выбираемого реквизита
Блин, с формулировой у меня ужасно... Как в сказке какой-то получилось )) По существу есть Объект...

"шахматка" в табличном поле
Приветствую всех. Нужна помощь в понимании, как сделать ТЗ. Проблема состоит в следующем:...

Моя ячейка в Табличном поле
Всем привет. 8.2 ЗиК. Надо добавить в табличное поле документа новую колонку, это табличное поле...

1
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
25.03.2016, 13:48 2
Лучший ответ Сообщение было отмечено Ermak27 как решение

Решение

Цитата Сообщение от Ermak27 Посмотреть сообщение
Почему то добавляется участок только в последней улице, как сделать чтобы в каждой добавил?
сделайте параметр Улица - массивом:
1C
1
2
3
4
5
  Улица = Новый Массив;
    Для Каждого СтрокаТП из ТП Цикл
        Улица.Добавить(СтрокаТП.Улицы);
    КонецЦикла;
    Запрос.Параметры.Вставить("Улица", Улица );
Цитата Сообщение от Ermak27 Посмотреть сообщение
И как можно проверить на пустое значение в ТП, если Улица не заполнена заполняем по всем улицам, на подобии
Проверяем Массив Улица на количество, если равно 0, значит улиц нет.

Итоговый запрос:
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
 Запрос = Новый Запрос;
    Улица = Новый Массив;
    Для Каждого СтрокаТП из ТП Цикл
       Если ЗначениеЗаполнено(СтрокаТП.Улицы) Тогда        
         Улица.Добавить(СтрокаТП.Улицы);
       КонецЕсли;
    КонецЦикла;
 
    УсловиеНасПункт = ?(НаселенныйПункт.Пустая(), "", " И ЛицевыеСчетаАбонентов.НаселенныйПункт = &НаселенныйПункт ");
    УсловиеРегион = ?(Регион.Пустая(), "", " И ЛицевыеСчетаАбонентов.Регион = &Регион ");
    УсловиеЗдание = ?(Здание.Пустая(), "", " И ЛицевыеСчетаАбонентов.Владелец = &Здание ");
    УсловиеУлица = ?(Улица.Количество() > 0, " И ЛицевыеСчетаАбонентов.Улица В (&Улица)","");
    Запрос.Текст = "ВЫБРАТЬ
    |   ЛицевыеСчетаАбонентов.Ссылка,
    |   ЛицевыеСчетаАбонентов.АбонентскийУчасток,
    |   ЛицевыеСчетаАбонентов.Регион,
    |   ЛицевыеСчетаАбонентов.Улица,
    |   ЛицевыеСчетаАбонентов.НаселенныйПункт,
    |   ЛицевыеСчетаАбонентов.Участок,
    |   ЛицевыеСчетаАбонентов.Владелец
    |ИЗ
    |   Справочник.ЛицевыеСчетаАбонентов КАК ЛицевыеСчетаАбонентов
    |ГДЕ
    |   ЛицевыеСчетаАбонентов.АбонентскийУчасток = &АбонентскийУчасток
    |" + УсловиеНасПункт + УсловиеРегион + УсловиеЗдание + УсловиеУлица;
    
    Запрос.Параметры.Вставить("АбонентскийУчасток", ЭлементыФормы.АбонентскийУчасток.Значение);
    Запрос.Параметры.Вставить("Регион", ЭлементыФормы.Регион.Значение);
    Запрос.Параметры.Вставить("НаселенныйПункт", ЭлементыФормы.НаселенныйПункт.Значение);
    Запрос.Параметры.Вставить("Здание", ЭлементыФормы.Здание.Значение);
    Запрос.Параметры.Вставить("Улица", Улица);
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2016, 13:48

Проблема: не отображаются данные в табличном поле
Таблица значений заполняется но данные в табличном поле не отображаются... Платформа 1С 8 Версия...

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

Форма списка на табличном поле (класс ПоставщикДанных)
Все привет. 1С v7.7 Нужна помощь вот в каком вопросе. Переписываю стандартную форму списка...


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

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

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