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

Публикация № 141653

Разработка - Практика программирования

11
Небольшое пособие "Как правильно накладывать несколько перехватчиков на одну форму" + мини-класс, реализующий описанную технологию.

Данный мини-класс, по сути, описывает технологию относительно удобной работы с множественными перехватчиками формы.

 

 Например, вы хотите нарисовать журнал документов, при этом у вас уже есть класс, реализующий привязки и класс, реализующий табличное поле на запросе.

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

 Теперь возникает проблема - каждый из двух классов перехватывает события формы, и их действия необходимо согласовывать. Ибо каждый последующий навешаный перехватчик забирает все на себя ("кто последний - тот и папа").

 Собственно, в согласовании работы нет ничего сложного - достаточно запоминать предыдущий перехватчик в момент вызова ПерехватитьСобытияГК(), а потом, в обработчике перехваченного события, не забыть сделать ВыполнитьСобытиеГК.

 Правда, есть еще один маленький нюанс - если во втором навешенном перехватчике нет какого-то обработчика события, то до первого событие просто не дойдет.

 А значит в каждом классе необходимо описывать полный набор методов.

 

 Но мы же с вами люди ленивые! Зачем делать ручками то, что можно успешно автоматизировать?

 Мы возьмем, и унаследуем оба наших класса (привязок и табличного поля на запросе) от приложенного класса ТПерехватчик.

При инициализации класса-наследника делаем

Сам.ПолучитьБазовыйКласс("ТПерехватчик").Инит(_Контекст);   //_Контекст - контекст перехватываемой формы

 И дальше, единственное, что требуется от нас - после своих телодвижений не забывать в классе-наследнике вызывать событие базового класса.

Например, так:

 Процедура Событие_ПриОтжатииЛевойКнопки(Сост, Гор, Верт, ФСО) Экспорт
 _ПриОтжатииЛевойКнопки(Сост, Гор, Верт);
 
 Сам(Контекст).ПолучитьБазовыйКласс("ТПерехватчик").Событие_ПриОтжатииЛевойКнопки(Сост, Гор, Верт, ФСО);
КонецПроцедуры // Событие_ПриОтжатииЛевойКнопки



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

 

http://www.1cpp.ru/forum/YaBB.pl?num=1340972871 

11

Скачать файлы

Наименование Файл Версия Размер
ТПерехватчик
.ert 7,00Kb
29.06.12
6
.ert 7,00Kb 6 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. zk96 30.06.12 21:58 Сейчас в теме
Я использую один класс-перехватчик. А в тех классах, где нужно обрабатывать события формы, пописываюсь на нужные мне события нужного контекста.
Например вот так:
Процедура Инит(Конт)
КонтекстФормы = Конт;
Перехватчик = СоздатьОбъект("Перехватчик");
ПерехватчикСобытийГК = Перехватчик.ПолучитьПерехватчикСобытийГК(КонтекстФормы);
МойКласс = СоздатьОбъект("МойКласс");
МойКласс.Инит(КонтекстФормы);
ПерехватчикСобытийГК.ДобавитьПодписчикаСобытия(МойКласс,ТипЗначенияСтр("МойКласс),"ПриИзмененииРазмераОкна");
КонецПроцедуры
Ну а дальше создаю нужные процедуры.
Ну а в классе-перехватчике при событии вызываю его у всех подписчиков.
Лично мне такой метод больше нравится.
2. SatanClaws 128 02.07.12 07:39 Сейчас в теме
(1) Похоже, не совсем понял.
Давай, на примере Привязок и ТТабличноеПоле.

Если я правильно понял тебя, то в форме (на которую ты хочешь прицепить привязки и ТП), ты создаешь 3 объекта:
ТТвойПерехватчик (обязательно первым)
ТПривязки
ТТабличноеПоле
так?

Дальше, как у тебя идет взаимодействие между ТПривязки и ТТабличноеПоле? Скажем, в ПриЗакрытии один из них вернул статус возврата 0 - второй в состоянии это увидеть?
Ну или на примере события ПриОтжатииКнопкиКлавиатуры - можно ли передать будет ли передан ФСО из одного обработчика в другой?
3. SatanClaws 128 02.07.12 07:47 Сейчас в теме
(1) Более внимательно прочитал твой комментарий и еще меньше понял тебя:

Я предположил, что ты используешь такую методологию:

1. на форму вешаешь перехватчиком класс ТТвойПерехватчик
2. в форме создаешь класс (оПривязки = СоздатьОбъект("ТПривязки");) и говоришь оПривзяи.Инит(...)
3. в методе ТПривязки:Инит делаешь следующее: получаешь текущий перехватчик формы (подразумевается, что это объект класса ТТвойПерехватчик) и вызываешь у него метод ДобавитьПодписчикаСобытия(...) (передавая туда объект привязок и события, которые необходимы привязкам).

Так, нет?
4. zk96 02.07.12 17:15 Сейчас в теме
У меня есть класс-перехватчик "ФабрикаСобытий", который инициализируется ПриНачалеРаботыСистемы. При открытии ЛЮБОЙ формы, а точнее в событии СобытиеГМ_СозданиеКонтекста, создаю новый объект класса "ФабрикаСобытий" и вешаю на эту форму.
Любой класс, обработка и т.п. который хочет обрабатывать события этой формы, подписывается на них. Например при инициализации класс привязок делаю так:
Перехватчик = СоздатьОбъект("Перехватчик");
ПерехватчикСобытийГК = Перехватчик.ПолучитьПерехватчикСобытийГК(КонтекстФормы);
ТПривязки = вирт();
ПерехватчикСобытийГК.ДобавитьПодписчикаСобытия(ТПривязки,ТипЗначенияСтр(ТПривязки),"ПриИзмененииРазмераОкна");


В классе "ФабрикаСобытий" :

//==========================================================­====================
Функция СообщитьПодписчикам(ИДСобытия,Параметры = "") Экспорт
ВозвратноеЗначение=1;
Если ПодписчикиСобытий.НайтиКлюч(ИДСобытия,0) = -1 Тогда
Возврат ВозвратноеЗначение;
КонецЕсли;
Если ПустоеЗначение(Параметры) = 1 Тогда
Параметры = СоздатьОбъект("СписокЗначений");
КонецЕсли;
__ПодписчикиСобытия = ПодписчикиСобытий.Получить(ИДСобытия);
КвоПодписчиков=ПодписчикиСобытия.Количество();
Для НомерКонтекста = 0 По КвоПодписчиков-1 Цикл
КонтекстПодписчика = ПодписчикиСобытия.Получить(НомерКонтекста);
Если Информатор.МетодСуществует(КонтекстПодписчика,ИДСобытия)=1 Тогда
Если Информатор.ЯвляетсяФункцией(КонтекстПодписчика,ИДСобытия)=1 Тогда
РезультатРаботыФункции=0;
ВыполняемыйМодуль.ВыполнитьФункциюКонтекста(КонтекстПодписчика,ИДСобытия,Параметры,РезультатРаботыФункции);
Если РезультатРаботыФункции=0 Тогда
ВозвратноеЗначение=0;
Прервать;
КонецЕсли;
Иначе
ВыполняемыйМодуль.ВыполнитьПроцедуруКонтекста(КонтекстПодписчика,ИДСобытия,Параметры);
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат ВозвратноеЗначение;
КонецФункции

//==========================================================­============
Процедура Событие_ПриИзмененииРазмераОкна(ТипСобытия,Ширина,Высота) Экспорт
СЗПараметры = СоздатьОбъект("СписокЗначений");
СЗПараметры.Установить("ТипСобытия",ТипСобытия);
СЗПараметры.Установить("Ширина",Ширина);
СЗПараметры.Установить("Высота",Высота);
Рез=СообщитьПодписчикам("ПриИзмененииРазмераОкна",СЗПараметры);
Перехватчик.ВыполнитьОригинальноеСобытиеГК(КонтекстФормы,"ПриИзмененииРазмераОкна",ТипСобытия,Ширина,Высота);
КонецПроцедуры

Эти куски кода я вырезал с рабочей конфигурации. Может чего-то не так подправил. Если нужно могу поделится классами.
5. SatanClaws 128 02.07.12 20:08 Сейчас в теме
(4) Примерно понятно.
Немного более сложно технологически (Перехватчик сам по себе моск неплохо выносит, а тут еще и Фабрика событий), но тоже неплохо.
6. zk96 02.07.12 22:02 Сейчас в теме
(5) Почему сложнее? Ничего сложного нет. ФабрикаСобытий - это просто имя класса, не более. Я у кого-то увидел и мне понравилось слово :-)
И перехватчик не сложнее любого другого 1С++-объекта. Да, есть несколько фич, но это мелочи.
Хотя это мое личное мнение.
8. SatanClaws 128 03.07.12 04:33 Сейчас в теме
(6)перехватчик сложнее тем, что за потоком исполнения следить сложнее
9. zk96 03.07.12 10:50 Сейчас в теме
(8)
Я не понял. Объясни, пожалуста.
10. SatanClaws 128 03.07.12 19:53 Сейчас в теме
(9) Скажем, есть баг - при отжатии кнопки клавиатуры 1Ска падает

без перехватчика:
открываешь модуль формы, находишь обработчик события, ставишь брейкпоинт, топаешь отладчиком сначала "шагом через" - определяешь, какой используемый объект валит 1Ску, во второй раз - уже конкретно внутри класса.
Все легко и прозрачно.

С перехватчиком - сначала рыщешь по модулю, определяешь, какие объекты создаются, какие из них используют перехватчик.
Потом разбираешься, какие имеют обработчик этого события. Потом ставишь брейкпоинты в этих классах (а отладка, начавшаяся с брейкпоинта внутри класса - то еще развлечение, ибо не безглючно там все).
А в конце концов выясняется, что объект класса А, не использующего перехватчик, создает для своих нужд объект класса Б, уже использующего перехватчик - и валит 1Ску именно он.

В этом плане твой подход немного лучше - ибо можно поставить брейкпоинт в классе ФабрикаСобытий и уже там топать по явному потоку исполнения.
Хотя в моей схеме тоже есть "помошники" (втыкание сообщить() непосредственно в ТПерехватчик - будет видно, какие объекты отработали нормально, остается лишь определить порядок подключения перехватчиков).
12. Dolly_EV 267 05.07.12 11:47 Сейчас в теме
(4) zk96, Поделись классом. Нужно!
13. zk96 05.07.12 15:18 Сейчас в теме
(12) Dolly_EV,
У меня не один класс, а несколько. В прилагаемом архиве на всякий случай есть кусок глобального модуля.
Только повырезай из классов лишний код, а то я мог пропустить.
Прикрепленные файлы:
ФабрикаСобытий.rar
15. Dolly_EV 267 05.07.12 15:55 Сейчас в теме
(13) Ок, спасиб, завтра будем посмотреть!
(14) Я так думаю, "текущий вариант" всяко лучше, чем "старый вариант"?))
7. zk96 02.07.12 22:03 Сейчас в теме
Как по мне подписка на события удобней.
11. zk96 04.07.12 01:29 Сейчас в теме
Для отладки я иногда использую команды препроцессора 1С++ #curmeth и #exinfo.
Очень удобно их устанавливать в тех местах, где проблематично остановится.
14. zk96 05.07.12 15:46 Сейчас в теме
О, нашел. У меня есть старый вариант моей "ФабрикиСобытий". Раньше это был один класс. Если надо, то тоже дам.
16. zk96 05.07.12 16:07 Сейчас в теме
17. begemot 268 02.10.13 15:44 Сейчас в теме
(16) Пытаюсь подключить Ваш "новый" вариант Фабрики событий:

Неудачная попытка создания объекта
СервисныеМетоды = СоздатьОбъект("СервисныеМетоды");

Подскажите, где искать данный класс?
Оставьте свое сообщение

См. также

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.130.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Установка принтера по умолчанию для 1С 7.7 2

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) Практика программирования Разработка

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    2987    2    alsen    2       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Формирование строки json в 1С: 7.7 12

Статья Программист Внешняя обработка (ert,epf) v7.7 1cv7.md 1С7:Комплекс Windows Абонемент ($m) Практика программирования

Предлагается набор функций 1с 7.7 для формирования строки json стандартными средствами.

1 стартмани

10.12.2018    4231    20    malovandrey    0       

Асинхронное программирование в 1с77 без внешних компонент. Обратные вызовы. 10

Статья Программист Архив с данными v7.7 Windows Абонемент ($m) Практика программирования

Пример построения программного кода для достижения функционала обратных вызовов (call back) во внешних обработках исключительно штатными средствами. Тестировалось на платформе 1с77 релиз 027. Конфигурация значения не имеет.

1 стартмани

06.10.2018    4596    2    Vortigaunt    5       

INFOSTART MEETUP Krasnodar. 14 февраля 2020 г. Промо

Краснодар станет первым в 2020 году местом, где пройдет региональная встреча IT-специалистов сообщества Инфостарт. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Стоимость участия - 5000 рублей. Цена действительна до 26.12.2019.

Несколько табличных частей в 1С:7.7 - это просто 3

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Абонемент ($m) Практика программирования

При программировании на платформе V7 достаточно часто возникает задача создать несколько табличных частей документа (или справочника). Традиционно эта задача имеет несколько решений..

1 стартмани

01.05.2018    8016    10    Gkmy    6       

Суммирование выделенных ячеек в столбце для 1С:Предприятие 7.7 3

Инструменты и обработки Программист Архив с данными v7.7 Windows Абонемент ($m) Практика программирования

Суммирование чисел в столбце, выделенных мышкой, для 1С:Предприятие 7.7. В любом отчете, печатной форме или текстовом документе выделяете мышкой столбец с числами или группу ячеек в колонке таблицы, нажимаете на кнопку панели инструментов и в строке состояния получаете сумму. Пользоваться очень просто, удобно и быстро.

1 стартмани

09.03.2016    8621    4    электра    9       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Как получить номер и дату договора из наименования справочника договоров? 5

Инструменты и обработки Программист Внешний отчет (ert,erf) v7.7 1cv7.md Windows Абонемент ($m) Практика программирования Обработка справочников

В типовых конфигурациях платформы "1С:Предприятие 7.7" часто номер и дата договора указаны в самом наименовании договора. Что создает сложности в тех случаях, когда эти реквизиты надо знать, например, при конвертации данных в конфигурации платформы "1С:Предприятие 8", где номер и дата договора - отдельные реквизиты.

1 стартмани

24.09.2015    17551    2    SiAl    7       

1С: 7.7. Функции-обертки, функторы, отложенный вызов, карринг параметров на примере функции чтения табличных данных 23

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Windows Абонемент ($m) Практика программирования

Человек, работающий в 1С, в силу своей практики и опыта может нуждаться в средствах программирования, в 1С не представленных. В публикации описаны средства отложенного вызова функций, каринга параметров, композиции и др., в основе которых лежит вызов функции посредством функции Шаблон. Несмотря на простоту, созданный за несколько лет работы в 1С 7.7 набор функций обрел мощь, достаточную для лаконичной реализации указанных целей.

1 стартмани

17.09.2015    7341    4    rozhkovdmitriy    21       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Технологическая проверка кода конфигурации (7.7) 9

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Абонемент ($m) Инструментарий разработчика Практика программирования

1С 7.7 не имеет практически никаких средств, предназначенных для контроля правильности кода. В синтаксически правильном, с точки зрения 1С, коде можно, например, определить переменную НомерДок в модуле документа. Эта обработка может помочь найти некоторые "плохие решения" в коде.

1 стартмани

03.09.2015    7583    6    vcv    6       

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v8 1cv8.cf 1cv7.md Windows Абонемент ($m) Практика программирования Универсальные функции

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    23261    4    Serginio    1       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Оптимизация количества журналов документов в 1С:7.7 0

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Windows Абонемент ($m) Практика программирования

Один из вариантов оптимизации количества журналов документов в 1С:7.7 без использования внешних компонент

1 стартмани

24.02.2015    6600    2    voha    8       

Все про картинки в 1С 7.7, ну или почти все... 17

Инструменты и обработки Программист Внешний отчет (ert,erf) v7.7 1cv7.md Windows Абонемент ($m) Практика программирования

В 1С 8 наличие картинок товаров предусмотрено изначально, а в 7.7 такого нет. Проблема существует и ее исправляют, но это, как правило, частные случаи, касающиеся, например, печати прайса http://infostart.ru/public/289876/ , показу картинок в справочнике номенклатура http://infostart.ru/public/17125/, файловый менеджер картинок товара http://infostart.ru/public/15239/ или просто конфигурации работы с картинками http://infostart.ru/public/21142/ (не стремился дать полный обзор, поэтому не попавшие не обижайтесь :). Что не устроило – информация разбросана по статьям, необходимость дополнительно напрягаться, чтобы это заработало. Здесь я попытался собрать все «до кучи», а так же дать необходимые ссылки для желающих «копнуть вглубь».

1 стартмани

18.11.2014    29086    74    kitminsk    8       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

Печать прайс-листа с картинками для 1С Предприятие 7.7 Торговля и Склад 9.2 - пример реализации 11

Отчеты и формы Программист Внешний отчет (ert,erf) v7.7 1С7:ТиС Windows Оптовая торговля Абонемент ($m) Ценообразование, прайсы Практика программирования

Задача: требуется вывести в прайс фотографии товаров. Фотографии не хранятся в БД, ссылки на файлы генерируются в момент формирования прайса.

1 стартмани

29.06.2014    21145    49    Chaotic    18       

Перевод десятичного числа в HEX, BIN, OCT, _IdToStr и другие системы 1

Инструменты и обработки Программист Внешний отчет (ert,erf) v7.7 1cv7.md Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

Два алгоритма перевода десятичного числа в другую систему исчисления от 2 до 36 только средствами 1С (без ВК)

1 стартмани

05.06.2014    11162    10    kos    3       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

7500 рублей

Пример получения остатков по складу по запросу по почте из программы 1С 7.7. 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) Практика программирования

Пример получения остатков по складу по запросу по почте из программы 1С 7.7. Для получения остатков необходимо пользователю с любого почтовика (с любого "мыла") отправить текст сообщения GiveMyStockBalance_ForAnalize на почтовый адрес определенный в Константа.СерверПолучения. Программа выдаст остатки (можно переписать функцию для выдачи любых данных) в формате xls на почту указанную в константе Константа.СерверОтправки. Программа может быть полезна в тех организациях где трудно или невозможно осуществить прямой доступ к 1С сотрудников для просмотра необходимых данных. Также можно организовать некий почтамт - запрос для клиентов - при посылке определенного логина клиентом на его почту будет автоматически выслана информация, например, акт сверки с клиентов, или процент выполнения его заказа и т.д.

3 стартмани

25.03.2014    15785    5    protexprotex    3       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Новые сказки о старом или как поймать событие «При активизации строки» в 1С: 7.7 1

Инструменты и обработки Программист Конфигурация (md, cf) v7.7 1cv7.md Windows Абонемент ($m) Практика программирования

Давным-давно, в 1344152635 секунде по времени Unix, жил был один добрый, сильный и очень умный программист… Осилим царь-батюшка! — воскликнул наш добрый молодец и открыл пофигуратор однаэски 8.2… Там можно только прописать процедуры для реквизитов табличной части и реализовать событие ПриИзменении…

1 стартмани

29.01.2014    16494    8    majmyl    6       

Поворот картинки 6

Инструменты и обработки no Приложение (exe) v7.7 v8 Windows Абонемент ($m) Практика программирования Работа с интерфейсом

Иногда возникает необходимость повернуть картинку из 1С.

1 стартмани

16.12.2013    14179    32    bborisko    14       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

Изменение структуры баз 1С 7.7 без долгой реструктуризации. Часть 1. Справочники 31

Статья Программист Нет файла v7.7 1cv7.md Windows Абонемент ($m) Практика программирования

На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.

1 стартмани

13.08.2013    17287    4    Reptile    5       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

1Cv77. Исправление поведения множественного фильтра (МФ) типовых отчетов в части сохранения/восстановления настроек. 7

Инструменты и обработки Программист Внешний отчет (ert,erf) v7.7 1cv7.md Россия Windows Абонемент ($m) Практика программирования Работа с интерфейсом

В большинстве российских типовых конфигураций для 1Сv7.7 (ТиС, ПУБ, Комплекс и др.) в отчетах используется множественный фильтр (МФ). Впервые он появился, более 10 лет назад, еще в ТиС 8.7, придя на смену МФ ТиС 8.6. С тех пор, аж до сего дня (24.03.2013) типовой механизм МФ содержит глюк связанный с восстановлением сохраненных настроек, хотя разработчики поют нам об обратном.

1 стартмани

26.03.2013    8668    6    piloturs    8       

Задача про сгибание листка 10

Инструменты и обработки Программист Внешний отчет (ert,erf) v7.7 1cv7.md Windows Абонемент ($m) Практика программирования

Часто при приеме на работу встречается задача про сгибание листка

1 стартмани

26.02.2013    13056    11    Sbelyi78    37       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

[Разработчику] Любая таблица значений в OLAP 20

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Windows Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные обработки

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    25187    49    venger    7