Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 20.02.2017
Сообщений: 5
1
1C 7.x

Вывести историю по всем адресам либо по выбранному.

03.04.2017, 11:56. Показов 637. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Может кто-нибудь знает что я делаю не так. Нужно вывести историю по всем адресам либо по выбранному.

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
50
51
52
53
54
55
56
57
58
//*******************************************
 
Процедура Сформировать() 
тз = создатьОбъект("ТаблицаЗначений");
        тз.НоваяКолонка("Номер_заявки");
        тз.НоваяКолонка("Рабочий");
        тз.НоваяКолонка("Дата_начала");
        тз.НоваяКолонка("Дата_конца");
        тз.НоваяКолонка("Перенос");
 
    
    
Если ПустоеЗначение(выбАдрес)=1 Тогда
        ТекАдрес="все Адреса";
    Иначе
        ТекАдрес=выбАдрес;
        КонецЕсли;
 
 
        
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    Таб.ВывестиСекцию("Шапка");
        тз.ВыбратьСтроки();
    
Пока тз.ПолучитьСтроку()=1 Цикл 
    
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
|Номер_заявки = Справочник.Время_работы.Номер_заявки;
|Рабочий = Справочник.Время_работы.Рабочий;
|Дата_начала = Справочник.Время_работы.Дата_начала;
|Дата_конца = Справочник.Время_работы.Дата_конца;
|Перенос = Справочник.Время_работы.Перенос;
|Адрес = Справочник.Адреса.Наименование;
//|Группировка  Номер_заявки;
|Условие(Адрес = ВыбАдрес);
|";
 
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
КонецЕсли;  
 
Пока Запрос.Группировка() = 1 Цикл 
    тз.Номер_заявки = Запрос.Номер_заявки;
    тз.Рабочий = Запрос.Рабочий;
    тз.Дата_начала = Запрос.Дата_начала;
    тз.Дата_конца = Запрос.Дата_конца; 
    тз.Перенос = Запрос.Перенос; 
КонецЦикла;
 
//  Если ПустоеЗначение(выбАдрес) = 0 Тогда
    Таб.ВывестиСекцию("Строка_1"); //КонецЕсли;
        КонецЦикла; 
 
    Таб.Опции(0);
    Таб.Показать();        
КонецПроцедуры
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2017, 11:56
Ответы с готовыми решениями:

Пройтись по всем адресам
Пытаюсь написать программу на подобии Cheat Engine, чтобы я вводил double число, а она мне...

Рассылка сообщений всем адресам в MySQL
Привет всем ... хотелось бы сделать рассылку сообщений всем адресам в MySQL. В инете ничего...

Вывести ряд чисел, кратных либо 2, либо 3, либо 5
Ребят погоди решить такую задачу, а то что-то то что делаю выдаёт не то. Ряд может быть до 1500...

Массив: К элементам по четным адресам добавить 1, из элементов по нечетным адресам вычесть 1.
К элементам по четным адресам добавить 1, из элементов по нечетным адресам вычесть 1. Четность...

1
857 / 656 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
03.04.2017, 16:45 2
1C
1
2
3
|Адрес = Справочник.Адреса.Наименование; - это строка, а выбАдрес это ссылка
//|Группировка  Номер_заявки;
|Условие(Адрес = ВыбАдрес)
Поэтому

1C
1
2
Адрес = Справочник.Адреса.ТекущийЭлемент; 
|Условие(Адрес = ВыбАдрес)
Вообще лучше писать условие так
1C
1
|Условие (Адрес в ВыбАдрес)
Тогда можно и по выбранному и по группе и по всему справочнику, если не выбран

Добавлено через 6 минут
И да, Запрос в цикле это не тру, старайся избегать этого
Хотя, посмотрел внимательно у тебя вообще какой-то бред написан
нахрена тебе тз, если ты с ней ничего не делаешь, сразу из запроса не проще вывести? Но это сам смотри

Добавлено через 6 минут
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
50
51
52
53
54
55
    тз = создатьОбъект("ТаблицаЗначений");
    тз.НоваяКолонка("Номер_заявки");
    тз.НоваяКолонка("Рабочий");
    тз.НоваяКолонка("Дата_начала");
    тз.НоваяКолонка("Дата_конца");
    тз.НоваяКолонка("Перенос");  
    
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "
    |Номер_заявки = Справочник.Время_работы.Номер_заявки;
    |Рабочий = Справочник.Время_работы.Рабочий;
    |Дата_начала = Справочник.Время_работы.Дата_начала;
    |Дата_конца = Справочник.Время_работы.Дата_конца;
    |Перенос = Справочник.Время_работы.Перенос;
    |Адрес = Справочник.Адреса.ТекущийЭлемент;
    //|Группировка  Номер_заявки;
    |Условие(Адрес в ВыбАдрес);
    |";
     
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;  
     
    Пока Запрос.Группировка() = 1 Цикл 
        тз.НоваяСтрока();
        тз.Номер_заявки = Запрос.Номер_заявки;
        тз.Рабочий = Запрос.Рабочий;
        тз.Дата_начала = Запрос.Дата_начала;
        тз.Дата_конца = Запрос.Дата_конца; 
        тз.Перенос = Запрос.Перенос; 
    КонецЦикла;
    
    Если ПустоеЗначение(выбАдрес)=1 Тогда
        ТекАдрес="все Адреса";
    Иначе
        ТекАдрес=выбАдрес;
    КонецЕсли;
 
 
        
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    Таб.ВывестиСекцию("Шапка");
                         
    //правда нахрена тебе тз, если ты с ней ничего не делаешь, сразу из запроса не проще вывести?
    тз.ВыбратьСтроки();
    Пока тз.ПолучитьСтроку()=1 Цикл 
    
 
//  Если ПустоеЗначение(выбАдрес) = 0 Тогда
        Таб.ВывестиСекцию("Строка_1"); //КонецЕсли;
    КонецЦикла; 
 
    Таб.Опции(0);
    Таб.Показать();
0
03.04.2017, 16:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2017, 16:45
Помогаю со студенческими работами здесь

Очистить историю подключений USB-flash и историю браузера
Привет, форумчане! Подскажите, где хранится инфа об: 1. Подключенные устройства чререз USB...

Вывести слова, состоящие только либо из русских либо из английских букв
Необходимо вывести слова, состоящие только либо из русских либо из английских слов

Задача: Считать из файла 10 строк и вывести их либо в Label, либо в Memo
Полнуй нубяра пересел на Lazarus и ищет помощь! Преамбула: Темным предновогодним вечером некий...

Вывести либо одно число c – длину стороны квадрата, либо 0, если квадрат не существует...
Вот задача: Поля (Время: 1 сек. Память: 16 Мб Сложность: 16%) Геннадий учится в сельской...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru