Форум программистов, компьютерный форум, киберфорум
1С
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/37: Рейтинг темы: голосов - 37, средняя оценка - 4.86
118 / 80 / 1
Регистрация: 10.08.2011
Сообщений: 664

Глобальная переменная

11.11.2013, 21:20. Показов 8033. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется макет Отчета, чтобы не переписывать в коде каждый раз запрос, я написал функцию печати с параметром, который содержит выборку запроса.
Как правильно объявить переменную, потому что у меня запрос корректно исполняется и заполняется ТабПоле, а в функцию макета выборка через параметр не передается ?
Почему макет незаполненный ?



Выборка

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
 Запрос = Новый  Запрос;
 Запрос.Текст = "ВЫБРАТЬ
|   sp0110.FAMILIA AS Посетитель,
|   sp0110.DATE AS Дата,
|   Сумма (sp0110.Summa) AS Сумма
| ИЗ
|   ВнешнийИсточникДанных.ВнешнийИсточникДанных1.Таблица.sp0110 КАК sp0110
| Where  Paylim AND DATE >= &DATE1 AND DATE <= &DATE2 
| СГРУППИРОВАТЬ ПО
|   sp0110.FAMILIA,
|   sp0110.DATE";
Запрос.УстановитьПараметр("DATE1", ЭлементыФормы.ПолеВвода1.Значение);
Запрос.УстановитьПараметр("DATE2", ЭлементыФормы.ПолеВвода2.Значение);
ТЗ = Новый ТаблицаЗначений();
ТЗ.Очистить();
ТЗ =  Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле.Значение = ТЗ; 
ТЗ.Колонки.Посетитель.Заголовок = "Посетитель";
ТЗ.Колонки.Дата.Заголовок = "Дата покупки";
ТЗ.Колонки.Сумма.Заголовок = "Сумма покупки";
ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
ЭлементыФормы.ТабличноеПоле.Колонки["Сумма"].ОтображатьИтогиВПодвале = Истина;
ЭлементыФормы.ТабличноеПоле.Колонки.Сумма.Формат =  "ЧЦ=10; ЧДЦ=2";
ЭлементыФормы.ТабличноеПоле.Колонки.Сумма.ГоризонтальноеПоложениеВПодвале = ГоризонтальноеПоложение.Право ;
Выборка = Запрос.Выполнить().Выбрать() ;
Итого = 0;
Пока Выборка.Следующий() Цикл
Итого = Итого + Выборка.Сумма; 
КонецЦикла; 
ЭлементыФормы.Надпись3.Значение = ТЗ.Итог(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
Функция Печать_Отчет(Выборка_на_печать) Экспорт
     
    ТабДок = Новый    ТабличныйДокумент;
    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.Защита = Истина;
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.ОтображатьЗаголовки = Ложь;
    
    Макет = ПолучитьОбщийМакет("Макет");
    ОбластьМакетаЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьМакетаЗаголовок.Параметры.НачалоПериода = ЭлементыФормы.ПолеВвода1.Значение;
    ОбластьМакетаЗаголовок.Параметры.ОкончаниеПериода = ЭлементыФормы.ПолеВвода2.Значение;
    Табдок.Вывести(ОбластьМакетаЗаголовок);
    ОбластьМакетаНаименованиеСтолбцов = Макет.ПолучитьОбласть("НаименованияСтолбцов");
    Табдок.Вывести(ОбластьМакетаНаименованиеСтолбцов);
    ОбластьМакетаТабичнаяЧасть = Макет.ПолучитьОбласть("ТабличнаяЧасть");
    ОбластьМакетаИтого = Макет.ПолучитьОбласть("Итого");
        Итого = 0;
      Пока Выборка_на_печать.Следующий() Цикл
        Итого = Итого + Выборка_на_печать.Сумма; 
        ОбластьМакетаТабичнаяЧасть.Параметры.ДатаПокупки = Выборка_на_печать.Дата;
        ОбластьМакетаТабичнаяЧасть.Параметры.Клиент = Выборка_на_печать.Клиент;
        ОбластьМакетаТабичнаяЧасть.Параметры.Сумма = Выборка_на_печать.Сумма;
        Табдок.Вывести(ОбластьМакетаТабичнаяЧасть);
     КонецЦикла; 
     ОбластьМакетаИтого.Параметры.Итого = Итого;
     Табдок.Вывести(ОбластьМакетаИтого);
     ТабДок.Показать();
КонецФункции
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.11.2013, 21:20
Ответы с готовыми решениями:

Глобальная переменная
Как можно перевести заначение глобальной переменной в модуль формы и наоборот (желательно приветси пример в виде кода), зарание спасибо!!!...

Переменная=Документ.имя. Сделать выборку всех документов с именем Переменная
Привет всем. У меня есть проблема и варианты решения, но они не работают. Проблема вот такая: Есть переменная Документ1 в...

Глобальная функция
В модуле формы документа есть код: &amp;НаКлиенте Процедура ТЧВесПриИзменении(Элемент) ...*ЦенаКг(Объект.Категория, Объект.Дата); ...

29
27.11.2013, 13:28
Студворк — интернет-сервис помощи студентам

Не по теме:

Кажется, в данном случае это нормально. Главное, что поняли друг друга.
Хотя, кого-нить это может и запутать, согласен.

0
118 / 80 / 1
Регистрация: 10.08.2011
Сообщений: 664
30.11.2013, 10:27  [ТС]
Цитата Сообщение от Dethmontt Посмотреть сообщение
В реквизиты формы добавь реквизит "ПроизвольноеИмя" с типом твоей внешней обработки и через это произвольное имя тебе будет доступна экспортируемая переменная модуля объекта.
Пожалуйста, можно с какими-нибудь примерами, я вообще не могу понять о чем Вы пишите и запутался.
Как обращаться к этому "реквизиту" ?
Откуда такие препоны, ужс просто =/

Добавлено через 1 час 5 минут
Разобрался по-моему и корректно передает.
Я думаю это вредительство, все-таки...но это моё имхо, спасибо, что указали верное направление, хотя с примером было бы проще.
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
01.12.2013, 00:50
У формы есть закладка "Реквизиты" (внизу где модуль и форма) на этой закладке создаем реквизит ну например ЭтотОбъект - тип Внешняя обработка объект

В модуле формы через реквизит ЭтотОбъект будет доступен весь контекст объекта внешней обработки

1C
1
2
3
//Пример:
//Вызов экспортируемой функции из модуля объекта внешней обработки "Тест()" с произвольной формы внешней обработки
Результат = ЭтотОбъект.Тест();
1
118 / 80 / 1
Регистрация: 10.08.2011
Сообщений: 664
01.12.2013, 12:06  [ТС]
Разобрался.
0
W
 Аватар для kavasaka
115 / 115 / 33
Регистрация: 16.04.2013
Сообщений: 750
30.03.2023, 09:27
А можно не начинать новую тему?
8,2 обычные формы, толстый клиент. В конфигурации есть переменная мФлагЗаписиВФорме в модуле объекта справочник договоров.
Как к ней обратиться И изменить ее значение из Дополнительной внешней обработки?
Миниатюры
Глобальная переменная  
0
Эксперт 1С
3042 / 264 / 78
Регистрация: 12.11.2015
Сообщений: 1,583
30.03.2023, 09:58
Взять нужный договор, получить его объект и изменять флаг. Но действует он только при работе с данным объектом.
1
W
 Аватар для kavasaka
115 / 115 / 33
Регистрация: 16.04.2013
Сообщений: 750
30.03.2023, 12:06
Цитата Сообщение от slypower Посмотреть сообщение
получить его объект
да, это я читал в справке, а код можно?...
1C
1
  Справочники.ДоговорыКонтрагентов.ПолучитьСсылку().ПолучитьОбъект().мФлагЗаписиВФорме = True;
типа так?
Значение не является значением объектного типа (мФлагЗаписиВФорме)
а как?
0
Эксперт 1С
3042 / 264 / 78
Регистрация: 12.11.2015
Сообщений: 1,583
30.03.2023, 12:25
1C
1
2
3
Дог = Справочники.ДоговорыКонтрагентов.НайтиПоКоду("123");
ДогОбъект = Дог.ПолучитьОбъект();
ДогОбъект.мФлагЗаписиВФорме  = Истина;
1
W
 Аватар для kavasaka
115 / 115 / 33
Регистрация: 16.04.2013
Сообщений: 750
30.03.2023, 12:42
slypower, Работает!!! Спасибо! не в жисть бы не догадался как глобальная переменная относится к коду 123?? ))но оно так работает.
0
Эксперт 1С
3042 / 264 / 78
Регистрация: 12.11.2015
Сообщений: 1,583
30.03.2023, 12:52
Цитата Сообщение от kavasaka Посмотреть сообщение
как глобальная переменная относится к коду 123
123 - это код договора, который нужно получить в базе. Возможно договор получается через запрос или еще как. 123 - это частный случай, и если есть договор с данным кодом
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.03.2023, 12:52

Глобальная переменная возвращает пустоту
Всем привет! Задам элементарный вопрос (гуглю - не могу найти). В модуле объекта документа объявляю глобальную переменную в самом верху...

Глобальная модуль 1807
Почему когда открываю 1С 7.7 версию внизу появляется вопрос Ошибки при создании объекта из компоненты D: 1Сv77 отсутствует\1.cpp.dll...

Глобальная переменная определена в хидере. Компилятор ругается на то, что переменная переопределена несколько раз
Исходники: /* main.cpp */ #include &quot;hider.h&quot; int main(void) { return 0; } /* foo.cpp */

Глобальная переменная, локальная переменная, параметр переменные, параметр заполнения
Где здесь глобальная переменная, локальная переменная, параметр переменные, параметр заполнения Program Main; Uses crt; Var...

Глобальная переменная
А как обьявить переменную и установить ей значение, так чтобы она была видна во всём макросе с тем значением которое ей дал при обьявлении?


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru