bdd2


Leleko Nikita

0
Рейтинг

Nikita Leleko
sigmov



  •   Регистрация: 13.09.2011 (5 лет назад)

  •   Был(а) на сайте: сегодня в 04:18

Комментарии

DevНекоторые принципы оптимизации запросов 1С (+SQL)#16 21.11.16 10:36
(6) Gilev.Vyacheslav,
Ну собственно в итоге платить приходиться (проходит оптимизация) или мириться с медленной работой.
Большинство в мире работает по PainDD (пока не заболит - фиг с ним, заболело - лечим)
HighLoadКонсоль анализа запросов (или как выиграть ноутбук)#45 01.11.16 4:01
> 50 руб. за запрос
Лучше ввести "политику" абонементов. ИМХО.
DevОптимизация запросов 1С:Предприятие – от теории к практике#15 10.10.16 8:52
1. Сначала было сказано про причины возникновения (ну 4ка)
2. Потом были разобраны несколько примеров (на 3ку) с выводом что все очень гибко и использовать нужно когда-так, а когда-не так
3. Ну и наконец "Покупайте наши помидоры"

Не гуд....
ВКRexV8#72 26.09.16 7:47
Приложение умирает при "ПодключитьВнешнююКомпоненту".
Только у меня?

Цитата
Сигнатура проблемы:
Имя события проблемы: BEX
Имя приложения: 1CV8C.exe
Версия приложения: 8.3.7.2008
Отметка времени приложения: 56f1d2b8
Имя модуля с ошибкой: StackHash_0a9e
Версия модуля с ошибкой: 0.0.0.0
DevПередача реквизитов объекта из основной формы в дополнительную и обратно на управляемых формах#17 23.09.16 9:59
(16) sigmov, Да, сам же протестировал - к сожалению элемент будет считаться "новым". (т.е. КопироватьДанныеФормы УИД не переносит)

Мое когда-то решение проблемы
Построено на РеквизитФормыВЗначение и его собратьях

На вызывающей форме:
Код
//{{ [+](фрагмент добавлен) <?"", ИмяПользователя> <?"", ДатаВремя, "ДФ='yyyy.MM.dd HH:mm:ss'">
#Область РедактированиеОбъектовВСтороннихФормах
// Шаблон редактирования объекта в подформе (автор: Лелеко)

// Вызывает редактирование открытых в данной форму объектов в сторонней форме
// Параметры:
//   ИмяФормы - строка - путь открываемой формы (по стандарту она должна иметь реквизит 'объект' объектного типа)
//  Реквизит - строка - имя реквизита передаваемого для редактирования
//   ПараметрыФормы - структура - параметры которые будут переданы в открываемую форму
//   ПараметрыОбратногоВызова - структура - параметры, которые получит "ОбработкаРезультатовРедактированияОбъектаВСтороннейФорме" в одноименный параметр
&НаКлиенте
Процедура ВызовРедактированияВСтороннейФорме(ИмяФормы, Реквизит = "Объект", ПараметрыФормы = Неопределено, ПараметрыОбратногоВызова = Неопределено)

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

КонецПроцедуры

// Обрабатывает результаты редактирования объектов в сторонних формах
// Параметры:
//   ОбъектРезультат - объект - отредактированный объект (ДанныеФормыСтруктура)
//   ПараметрыОбратногоВызова - структура - переданные при вызове параметры
Процедура ОбработкаРезультатовРедактированияОбъектаВСтороннейФорме(ОбъектРезультат, ПараметрыОбратногоВызова)
   
   Если ОбъектРезультат <> Неопределено Тогда
      // {{ Предобработка <вставьте свой код сюда>
      // }}
      ЗначениеВРеквизитФормы(
         ДанныеФормыВЗначение(
            ОбъектРезультат, 
            ТипЗнч(РеквизитФормыВЗначение(ПараметрыОбратногоВызова.Реквизит))),
         ПараметрыОбратногоВызова.Реквизит);
      // {{ Постобработка <вставьте свой код сюда>
      // }}
   КонецЕсли;
      
КонецПроцедуры

#КонецОбласти
//}} <?"", ИмяПользователя> <?"", ДатаВремя, "ДФ='yyyy.MM.dd HH:mm:ss'">
На принимающей форме:
Код
//{{ [+](фрагмент добавлен) <?"", ИмяПользователя> <?"", ДатаВремя, "ДФ='yyyy.MM.dd HH:mm:ss'">
#Область РедактированиеОбъектовВСтороннихФормах

// Событие создания на сервере (может вызвать ошибку компиляции модуля)
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   ПриСозданииНаСервереУстановкаОбъекта(Отказ, СтандартнаяОбработка);
КонецПроцедуры

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

// Команда сохранения результатов исполнения
&НаКлиенте
Процедура Заполнить(Команда)
   Закрыть(ЭтаФорма.Объект);
КонецПроцедуры

#КонецОбласти
//}} <?"", ИмяПользователя> <?"", ДатаВремя, "ДФ='yyyy.MM.dd HH:mm:ss'">
DevПередача реквизитов объекта из основной формы в дополнительную и обратно на управляемых формах#16 23.09.16 9:51
А если записывать объект из дополнительной формы, то в базе будет перезаписан исходный объект, или будет создан новый как копия исходного?
DevКак отказаться от использования НайтиПоНаименованию() и НайтиПоКоду() в уже работающих наполненных базах при дальнейшей разработке.#151 29.08.16 11:02
Спасибо! Хорошая статья.
Встречал и более экзотические случаи а-ля
Код
Если ВРег(Лев(ПолучитьЗаголовокСистемы(), 6)) = "СИНТАН" Тогда ... 


Вот только регистр сведений на мой взгляд лишним является.
Потому как измерение регистра у вас всего одно, а периодичными значения не являются.
И желательно еще кешировать значения.
DevNumpad буфер#4 02.11.15 16:12
(3) tormozit, NumpadBuffer - быстрое назначение и доступ к текстовым слотам. ClipDiary - история буфера (иногда нужно в ней покопаться)
DevNumpad буфер#2 02.11.15 15:55
(1) tormozit, ClipDiary и сам использую - у нее другая сфера применение - а именно хранить историю буфера обмена. AceText - не использовал, возможно она покрывает мою утилиту, но судя по всему громоздская вещь и платная.

Моя утилита передельно проста - 9 дополнительных слотов под текст (Shift+Numpad[1-9] - сохранить выделенный текст в слот, аналогично Ctrl+C) (Numpad[1-9] - вставить текст из слота, аналогично Ctrl+V)
(Shift+Numpad*) - это просто просмотр состояния слотов
DevШаблон текста автозамены для 1C 8#5 02.11.15 12:06
36кб - не так уж много. У меня 2мб перевалило. Хотя я там давно не чистил