Подбор в управляемой форме - что может быть проще?

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

Разработка - Работа с интерфейсом

УФ управляемые формы асинхронность подбор описание оповещения

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

Добрый день, коллеги!

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

Навела меня на мысль рассказать об этом еще раз некая Анна, создавшая эту вот тему, в которой в очередной раз встречаю я богомерзкие слова "Результат = Форма.ОткрытьМодально()", а нервы то уже не те!!! )))

Итак, приступим к тому, чтобы внести ясность.

СУТЬ ЗАДАЧИ

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

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

СУТЬ ВЕЩЕЙ

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

Давайте ответим на главный вопрос статьи: "как организовать подбор в управляемой форме?" Для этого откроем форму с признаком "ЗакрыватьПриВыборе = ложь"  и "РежимВыбора = истина":

&НаКлиенте
Процедура Подбор(Команда)

	ОткрытьФорму(
		"Справочник.Справочник1.ФормаВыбора", 
		Новый Структура("ЗакрыватьПриВыборе, РежимВыбора", 
			Ложь, Истина), 
			ЭтаФорма
			, , , ,
			Новый ОписаниеОповещения(
				"ПриЗакрытииФормыПодбора", 
				ЭтаФорма, 
				"Подбор"), 
			РежимОткрытияОкнаФормы.БлокироватьОкноВладельца
	);

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

В приведенном коде открывается форма выбора справочника "Справочник1", также предполагается, что у нас есть экспортная клиентская процедура "ПриЗакрытииФормыПодбора", которая будет вызваться при закрытии формы выбора.

Т.к. у нас параметр "ЗакрыватьПриВыборе" установлен в "ложь", то форма справочника при двойном клике или нажатии клавиши "Энтер" на элементе закрываться не будет. При этом т.к. параметр "РежимВыбора" установлен в "Истина", то каждый даблклик и "Энтер" будет генерировать событие "ОбработкаВыбора" во владельце. Таким образом, если у нас, например, каждый раз, когда выбирают элемент в форме выбора, должна добавиться строка табличной части, код дополнится вот такой процедурой:

&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
	Объект.ТабличнаяЧасть1.Добавить().ФИО = ВыбранноеЗначение;
КонецПроцедуры

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

Код, приведенный выше, всего-то добавляет новую строку в табличную часть "ТабличнаяЧасть1" и устанавливает там в реквизит "ФИО" выбранный в форме подбора элемент справочника.

Для красочности картины давайте дополним код процедурой, обрабатывающей закрытие формы выбора:

&НаКлиенте
Процедура ПриЗакрытииФормыПодбора(Рез, Доп) Экспорт 
	Сообщить("Ура, форма подбора закрыта!");
КонецПроцедуры

В данном случае при закрытии формы владельца просто вывалится сообщение: "Ура, форма подбора закрыта!".

 

РАЗВИТИЕ НАСТУПЛЕНИЯ

Мы можем, конечно, вообще не использовать обработку выбора при выборе единичного значения. Для этого достаточно переписать открытие формы выбора таким образом, чтобы параметр "ЗакрыватьПриВыборе" устанавливался в "Истина". Но и обработку выбора значения нужно будет реализовать в асинхронной процедуре, указанной в описании оповещения:

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

//&НаКлиенте
//Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
//	Объект.ТабличнаяЧасть1.Добавить().ФИО = ВыбранноеЗначение;
//КонецПроцедуры

В этом коде мы убрали процедуру обработки выбора, т.к. если бы мы ее оставили, то у нас создались бы две строки. Почему? Над этим вопросом рекомендую подумать факультативно (в качестве домашнего задания, если кто хочет).

Также в обработке асинхронного оповещения необходимо контролировать возвращенный результат. Если результат пустой, то это говорит о том, что форму просто закрыли, не выбрав никакого значения. Для этого в коде добавлена проверка на "Рез = Неопределено".

Давайте окончательно разберемся с темой и добавим возможность ввода, например, количества "ФИО" в документе. Для этого пропишем еще одну асинхронную процедуру, которая будет обрабатывать ввод числового значения. Для этого вернем "ложь" для параметра формы "ЗакрыватьПриВыборе", раскомментируем процедуру "ОбработкаВыбора" и убурем из процедуры асинхронного оповещения добавление строки:


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

&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)

	ПоказатьВводЧисла(
		Новый ОписаниеОповещения("ПриВводеЧисла",
			ЭтаФорма,
			ВыбранноеЗначение), , // вот тут у нас как раз появился доппараметр
		"Введите количество ФИО",
		10,
		0
	);
	
КонецПроцедуры

&НаКлиенте
Процедура ПриВводеЧисла(Рез, Доп) Экспорт 
	
	// найдем строки с этим "ФИО"
	НайденныеСтроки = Объект.ТабличнаяЧасть1.НайтиСтроки(Новый Структура("ФИО", Доп));
	
	// если не нащли - добавим
	Если НайденныеСтроки.Количество() = 0 Тогда 
		Ст = Объект.ТабличнаяЧасть1.Добавить();
		Ст.ФИО = Доп;
		Ст.Колво = рез;
	Иначе
		// если нашли - увеличим колчество
		НайденныеСтроки[0].Колво = НайденныеСтроки[0].Колво + рез;
	КонецЕсли;

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

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

ЗАКЛЮЧЕНИЕ

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

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

Лучшие комментарии
17. spacecraft 19.09.17 11:06 Сейчас в теме
Придрались к наименованию переменных. Это больше к рефакторингу относится.
Тут есть программная "ошибка".
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
	Объект.ТабличнаяЧасть1.Добавить().ФИО = ВыбранноеЗначение;
КонецПроцедуры

Да и в другом примере ОбработкаВыбора. Этот код не всегда будет работать как задумано.
GoR1313; Hamsik; TreeDogNight; pbazeliuk; NSerget; jONES1979; +6 Ответить
Остальные комментарии
Избранное Подписка Сортировка: Древо
1. nomadon 386 19.09.17 07:07 Сейчас в теме
Сначала задается планка где лишняя переменная - это плохо, а потом в, собственном коде, Рез и Доп. Отсюда вывод, даже несколько, но некоторые до конца не ясны:
1. Если обгадил чужой код - самому можно плохокодить
2. Чужой код гадь, а в свой не смотри
3. Даже если знаешь что плохогодить нельзя, но ничего с этим сделать не можешь - посмотри в чужой код и скажи что там еще хуже


Доброе утро;)
ZhiharevDmitriy; kadild; PoZiTiFFF; bulpi; Gorus; TreeDogNight; jONES1979; NN2P; uri1978; awk; Tolpinski; mmoozzgg; +12 Ответить
2. starik-2005 2012 19.09.17 09:17 Сейчас в теме
(1) рез и доп - обязательные аргументы функции оповещения. Без них она работать не будет. Учим мат.часть.

Ну, как я и говорил, подтянулись "программисты", плохо владеющие механизмами платформы. Но для остальных появилась возможность учиться на чужих ошибках)))
kadild; Anchoret; uri1978; Sheriff1987; KSy; корум; +6 1 Ответить
9. nomadon 386 19.09.17 10:03 Сейчас в теме
(2) я не про наличие параметров в процедуре (кстати это процедура а не функция), а про смысловое наименование переменных
11. starik-2005 2012 19.09.17 10:08 Сейчас в теме
(9) в С вообще процедур нет - одни функции, но некоторые из них не возвращают значение. Так что разницы между словами "процедура" и "функция" практически нет. Главное, что свою функцию данная процедура выполняет. Помните картинку о всей сути критиков со словами "горизонт завален"? Вот в этом вся суть Вашей критики. Молодежи может даже интересно на этот диалог посмотреть, так что не зря.
IraNov_; kadild; +2 Ответить
14. nomadon 386 19.09.17 10:21 Сейчас в теме
(11) ну тогда можно вообще в нулях и единицах пример писать, функция процедуры тоже будет выполняться)
user5300; +1 Ответить
15. starik-2005 2012 19.09.17 10:31 Сейчас в теме
(14) ну если заговорили о нулях и единицах, то в ассемблере нет различий в вызове процедур и функций, а машинному коду об именах переменных ничего не известно.

По поводу стандартов, то они предписывают именовать переменные так, чтобы была ясна их суть. С "рез" и "доп" суть ясна. Проблема тут в интерпретации стандартов с Вашей стороны.
16. nomadon 386 19.09.17 10:36 Сейчас в теме
(15) а мы пишем код что бы кому было ясно?
1. машине?
2. тому кто писал это код?
3. тому кто не писал этот код?

Если учитывать последнее, то принимает решение о допустимости кода совсем не тот кто его писал а тот для кого.
Brawler; mvxyz; kuzyara; BlizD; TreeDogNight; +5 Ответить
7. starik-2005 2012 19.09.17 09:51 Сейчас в теме
(1) если говорить о коде, то, как я понял, Ваша придирка была к поименованию переменных. Т.к. 1с - это чаще всего открытый код и данное замечание справедливо. Моя же придирка была к использованию лишней переменной - за это в олимпиадном программировании снижают балл, ибо это грубая ошибка, влияющая на производительность.
10. nomadon 386 19.09.17 10:05 Сейчас в теме
(7) моя придирка в общем впечатлении, если сами себе поднимаете планку - то приводить дурацкие ошибки в пример - глупо.
12. starik-2005 2012 19.09.17 10:09 Сейчас в теме
(10) ошибки с именем переменной? Это не ошибки. Но да, горизонт завален)))
13. nomadon 386 19.09.17 10:19 Сейчас в теме
(12) если не считать нарушение стандартов разработки ошибкой то не ошибка)
3. Сурикат 291 19.09.17 09:23 Сейчас в теме
Имелось ввиду, что название переменных не отображает их суть.
Неужели так сложно написать Результат, ДополнительныеПараметры?

А если процедура получиться не маленькая в конце уже и можно запутаться в сокращениях...
kadild; mvxyz; PoZiTiFFF; Gorus; TreeDogNight; Prikum; +6 Ответить
4. starik-2005 2012 19.09.17 09:25 Сейчас в теме
(3) а смысл обязательные аргументы функции писать полными именами? Я ж написал, что для друзей УФ можно и без фамилии обойтись.)))
5. TODD22 18 19.09.17 09:35 Сейчас в теме
Очень похоже на пример из книги Радченко "Практическое пособие разработчика" из главы "Организация подборов" или нет?

На экзамене на спеца "подбор" заставляют делать через ВременноеХранилище.
6. starik-2005 2012 19.09.17 09:47 Сейчас в теме
(5) по-разному подбор организовать можно. Радченко? Кто это?
8. TODD22 18 19.09.17 09:54 Сейчас в теме
(6)https://its.1c.ru/db/pubdevguide
по-разному подбор организовать можно.

Для полноты картины можно было и подбор через ВХ привести...
19. webester 31 20.09.17 08:44 Сейчас в теме
(6)
Радченко? Кто это?

Вот и выросло молодое поколение... "программистов (ну да, назовем так)"(с)кто-то из (0)
21. starik-2005 2012 20.09.17 10:25 Сейчас в теме
(19) ага, когда мы писали машинный код в тетрадках по русскому языку, их еще и в проекте не было))) И Радченко тоже не было.
22. webester 31 20.09.17 12:01 Сейчас в теме
(21)Не было конечно,не радченко, ни чуства юмора, ничего не было. Зато ЧСВ было точно.
23. starik-2005 2012 20.09.17 12:01 Сейчас в теме
(22)
Зато ЧСВ было точно.
Ну как без него-то, родимого. Это как без Радченко современным говнокодерам )))
24. webester 31 20.09.17 12:07 Сейчас в теме
(23)Это точно. 90% людей считают, что их способности выше средних. Хотя лурк утверждает, что 95% населения — идиоты. Вроде как нонсенс,но на самом деле, все логично.
25. starik-2005 2012 20.09.17 12:11 Сейчас в теме
(24) ну с учетом того, что в спейсикс и тесла народу работает крайне мало, то ЛУРК сильно завысил цифру.
26. webester 31 20.09.17 15:16 Сейчас в теме
(25)Скорее занизил, судя по тому, что происходит вокруг.
И я не знаю каков процент
Сумасшедших на данный час,
Но если верить глазам и ушам -
Больше в несколько раз. (с)ИзвестноКто
27. TODD22 18 20.09.17 15:45 Сейчас в теме
(26)
Скорее занизил, судя по тому, что происходит вокруг.

ЧСВ разум затуманил... бывает....
Светлый ум; +1 Ответить
28. starik-2005 2012 20.09.17 15:46 Сейчас в теме
(26)
Скорее занизил
Занизил одно, завысил второе. Я о количестве умных говорил, а Вы о дураках )))
29. webester 31 20.09.17 15:47 Сейчас в теме
(27)ну я то себя отношу к тем 95% куда уж нам уж....
(28)кхм )))
30. starik-2005 2012 20.09.17 15:48 Сейчас в теме
(29)
куда уж нам уж
Я, лично, всегда за левелап. Но, как говорил мудрец, что можно привести верблюда к воде, но заставить его пить не получится. Хочет - будет пить, не хочет - не будет.

Вот, кстати, придумал хорошую задачку для собеседования: есть куб или квадрат с ребром/стороной Х. Какая длина стороны/ребра будет у куба/квадрата с объемом/площадью, в два раза меньше исходного. Сильно сложная? )))
31. webester 31 20.09.17 15:49 Сейчас в теме
(30)Я пробую. Но вроде как уже напился. Не знаю может влезет еще немного.
>>Сильно сложная.
Что вы хотите выяснить этой задачей? Я тоже ищу, что бы спросить у кандидата в программисты, если он не умеет ничего. От слова вообще.
32. KapasMordorov 428 20.09.17 16:39 Сейчас в теме
(30)
Он над нами издевался. Ну сумасшедший, что возьмешь!
18. pbazeliuk 1729 19.09.17 18:39 Сейчас в теме
(5) На экзамене можно доказать свою позицию, но экзаменаторы могут иметь уровень ниже чем у программиста.
Вариант как в статье и подбор через временное хранилище могут иметь побочные эффекты, и если объяснить экзаменатору их - придирок не должно быть.

Очень давно сдавал специалиста, и решил задачу контроля остатков с помощью "нового" метода проведения и опции "БлокироватьДляИзменения" :) Почти влепили "-1" за решение пока не ткнул носом в литературу и новую на то время конфигурацию УТ 11.
20. TODD22 18 20.09.17 08:48 Сейчас в теме
(18)Речь была не столько о конкретном методе, сколько о том что не плохо было бы рассказать о нескольких методах.
А на экзамене не всегда есть возможность что то доказывать, не все сдают очно и не у всех есть возможность из за экзамена ехать за 5000 км.
17. spacecraft 19.09.17 11:06 Сейчас в теме
Придрались к наименованию переменных. Это больше к рефакторингу относится.
Тут есть программная "ошибка".
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
	Объект.ТабличнаяЧасть1.Добавить().ФИО = ВыбранноеЗначение;
КонецПроцедуры

Да и в другом примере ОбработкаВыбора. Этот код не всегда будет работать как задумано.
GoR1313; Hamsik; TreeDogNight; pbazeliuk; NSerget; jONES1979; +6 Ответить
33. Labotamy 20.09.17 20:28 Сейчас в теме
А это точно статья из 2017 года? =)
34. nomadon 386 20.09.17 22:29 Сейчас в теме
(33) нет конечно..
Пока действие происходит в одном месте весь фокус происходит в другом,
Статья про то что нужно все-таки не забывать про пользователей и делать им подбор, тем более это просто, а в комментах батл в стиле мисты)
35. Rustig 1330 22.09.17 08:49 Сейчас в теме
(0)
1) в УТ 10.3, в КА 1.1, которые на обычных формах, до сих пор используется форма подбора, и весь механизм, описанный в данной статье, используется в данной форме подбора. Что было на обычных формах, перешло в управляемые. Ничего нового. :)
Мне кажется, что разобраться с идеей подбора легче на обычных формах, чем на управляемых - нет отвлекающих процедур перехода с клиента на сервер и наоборот (какие переменные передать на сервер и получить обратно на клиенте).
2) У самой популярной методички по изучению 1с от автора Радченко методы организации подбора освещаются в отдельной главе книги.
3) В чем смысл статьи - я не понимаю.
Всякий раз в статьях посвященных управляемым формам замечаю одну и ту же тенденцию - "сложность" - как будто все прекрасное должно быть сложным - уберите из статьи слова "многопоточность", "асинхронность" , "НаКлиенте" - и идея подбора станет чуточку понятнее. :)
Прикрепленные файлы:
Meistersinger; +1 Ответить
36. starik-2005 2012 22.09.17 10:52 Сейчас в теме
(35)
Всякий раз в статьях посвященных управляемым формам замечаю одну и ту же тенденцию - "сложность"
Статья как раз и говорит о том, что никакой сложности нет. В этом основная ее цель. А причина, по которой она появилась, в статье описана.
37. Jestery 25.09.17 22:37 Сейчас в теме
Если НЕ Рез = Неопределено Тогда


Сорри за возможно очевидный вопрос, я новичок. А почему не написать
Рез <> Неопределено?
38. starik-2005 2012 25.09.17 23:12 Сейчас в теме
(37)
А почему не написать
А вломы переключать раскладку.
39. strange2007 142 08.08.18 16:31 Сейчас в теме
(37) Потому что начинающие программисты всегда гнут пальцы знаниями "крутых" языков. Вот когда автор поймёт, что программирование в бизнесе, это работа с объектами этого самого бизнеса, а не методами сортировки пузырьком, тогда будет писать код грамотный и может даже профессиональный.
Каюсь, 20 лет назад я тоже считал единственным настоящим языком программирования ассемблер.
40. starik-2005 2012 08.08.18 17:48 Сейчас в теме
(39)
что программирование в бизнесе, это работа с объектами этого самого бизнеса, а не методами сортировки пузырьком, тогда будет писать код грамотный и может даже профессиональный
Ну когда автор этого сообщения поймет, что решение задач бизнеса в программировании - это применение актуальных методов и приемов, последних технологических достижений и разработок в области алгоритмов и обработки данных, тогда он немножко будет думать перед тем, как ляпнуть какую-то ерунду )))
41. strange2007 142 09.08.18 04:41 Сейчас в теме
(40) Хм, спорное утверждение. Во многих российских компаниях используется семёрка, а в западных компаниях даже попадаются системы, работающие на алгоритмах, написанных в прошлом тысячелетии. При этом большинство из этих примеров - успешные зарабатывания денег и программисты в этих компаниях зачастую в совершенстве владеют всякими современными средствами разработки!
Meistersinger; +1 Ответить
42. strange2007 142 09.08.18 08:25 Сейчас в теме
(40) Всё. Нигде не нашёл в рекомендациях по программированию на 1С хоть какое-то упоминание про запутывание читаемости. И вообще, трудночитаемый код применяется только в некоторых случаях. Например, при создании защищённых модулей или для попытки зарабатывания дополнительных денег с невезучего клиента. В других случаях "трудный" код только вредит и значит гордое "А вломы переключать раскладку." является показателем не совсем высокого профессионализма.
43. starik-2005 2012 09.08.18 08:58 Сейчас в теме
(42) Вы даже не представляете, на сколько смешным может быть Ваш комментарий. Но точно могу сказать одно - комплексы вполне себе лечатся. Обратитесь к специалисту, ибо кроме как нарушением психики мне сложно объяснить проидирки к логическому оператору НЕ или к сокращению наименования переменных. Но, повторюсь, это лечится, при том весьма успешно.
44. strange2007 142 09.08.18 09:44 Сейчас в теме
(43) В единичном случае всё прекрасно понятно и без разницы как написано. А вот когда блок большой и его трудно анализировать, то такие мелочи вносят ещё большую сумятицу. Что часто приводит к мысли (часто тоже непрофессиональной) - "да я лучше тут всё перепишу". Именно поэтому код должен быть правильным во всём, в т.ч. и в мелочах.
Вообще мне удивительно, что Вы, адепт всяких сей, так позорите свой клан. Ведь и сишники и ассемблеристы (и все остальные) стремятся к понятному коду, а не к пальцегнутому.
Примечание: придирка не к конкретно сокращению переменных, а именно к ошибочному понимаю по поводу культуры программирования.
45. starik-2005 2012 09.08.18 12:52 Сейчас в теме
(44)
Именно поэтому код должен быть правильным во всём, в т.ч. и в мелочах.
С этим утверждением легко спорить исходя из тезиса, что лучше работающий прототип, чем теоретическая идеальная модель. Но я рад, что разговор вернулся в зону конструктива - это прогресс.

(44)
Вообще мне удивительно, что Вы, адепт всяких сей, так позорите свой клан. Ведь и сишники и ассемблеристы (и все остальные) стремятся к понятному коду, а не к пальцегнутому.
Подобный аргумент говорит о том, что Вы не особо разбираетесь в проблемматике. Фактически С++ и Asm (сейчас в крайних случаях) используются для достижения скорости, а скорость - это плоский код, с низким уровнем абстракции и высокой плотностью полезной нагрузки. К понятному же коду стремятся за счет повышения уровня абстракции, декларативности, замыканий. Но все эти механизмы понятны тем, кто в курсе, как они работают, начинающим же кодерам данный уровень заведомо недоступен и вызывает шок.

(44)
Примечание: придирка не к конкретно сокращению переменных, а именно к ошибочному понимаю по поводу культуры программирования.
Я так начал писать после того, как увидел однажды в коде подобную конструкцию (типа "Если НЕ а = 5"), а для меня логика, как совокупность булевых преобразований, проста и понятна, какой бы уровень вложенности условий бы ни был. Да, вложенность условий (та же логическая инверсия НЕ) повышает цикломатическую сложность кода, но в одном условии на "НЕ (РАВНО)" эта сложность повышается на единицу всего, что в рамках даже функции величина несущественная.
46. strange2007 142 09.08.18 13:12 Сейчас в теме
(45)
а для меня логика, как совокупность булевых преобразований, проста и понятна, какой бы уровень вложенности условий бы ни был

Очень сильно не соглашусь. И в СССР и в Западном мире давно уже доказано, что для человека максимальное количество анализируемых сущностей от 5 до 8. Всё что больше, это резкое повышение вероятных ошибок и как следствие, ухудшение во всём. Именно поэтому при декомпозиции любого процесса принято за один раз анализировать только 5-8 сущностей. В том числе это применимо и при анализе кода.
Проще говоря, когда всего одна строка кода, всё понятно и красиво. Но как только получаем большой модуль, состоящий из кучи противоречивых и/или непонятных кусков, то упираемся в стену "КАРАУЛ!". Кому это выгодно? Как писал выше, только тем, кто не хочет что бы его код читали или тем, кто зарабатывает таким образом.
И да, хорошая работа - оплачиваемая работа. Ну а ковыряние даже в своём коде с важным лицом, мало кому нравится.
Скажем так - если Ваши утверждения верны и имеют право жить, тогда большинство поддержит данные тезисы и, уверяю, 1С-вцы издадут целую главу рекомендаций, на тему как надо сокращать переменные. Ну а пока этого нет....

А про культуру программирования на ассемблере тоже много всего написано. Например, общепринятое обнуление регистра (против майкрософтовского).
Meistersinger; +1 Ответить
47. starik-2005 2012 09.08.18 13:20 Сейчас в теме
(46)
А про культуру программирования на ассемблере тоже много всего написано. Например, общепринятое обнуление регистра (против майкрософтовского).
А которого регистра не подскажите? В Ассемблере x86 этих регистров до чертиков, при том регистр указателя стека, регистр указателя команды, регистры сегментов и некоторые другие регистры обнулять - это в принципе нонсенс. А SUB (E/X)AX,(E/X)AX или XOR (E/X)AX,(E/X)AX, как обнуление аккумулятора в соответствующей архитектуре (Х - 64 бита, Е - 32 бита, без них - 16 бит) - это все-же потребность, а не "культура".

Ну и уж если просто на Вашем уровне придираться к последнему Вашему сообщению, то вот знаками препинания вы, увы, пользоваться не умеете, а тексты читают куда большее количество людей, чем код. Удачи Вам и добра )))
48. strange2007 142 09.08.18 13:23 Сейчас в теме
(47) Да, это позор, когда делаешь элементарные ошибки в переписках и я этого стыжусь, а не горжусь этим)))
49. starik-2005 2012 09.08.18 13:25 Сейчас в теме
(48)
и я этого стыжусь
Ну так учитесь не делать их, ведь процитированная мной часть Вашего сообщения - это второе простое предложение, связанное с первым союзом "и", перед которым, как всем известно (не, ну правда всем, ибо оное в школе проходят), ставится запятая.
50. spacecraft 09.08.18 17:08 Сейчас в теме
(46)
1С-вцы издадут целую главу рекомендаций, на тему как надо сокращать переменные. Ну а пока этого нет....

Вообще-то есть. Давно. Может не в полной мере, но все же.
https://its.1c.ru/db/v8std#content:-2145783193:hdoc
Светлый ум; +1 Ответить
53. Meistersinger 03.02.20 20:52 Сейчас в теме
(40)А последние достижения непременно должны работать на порядок медленнее предыдущих? Наверное, чтобы парк железа не застаивался? Вы представить себе не можете, насколько велика нагрузка на облачный сервер 1с. При несчастных 5 бухгалтерах в базе БП3, допустим. Мне страшно подумать, что будет происходить, если юзеров будет 20, 50, 100, что вполне обычно и немного, по нынешним меркам. Вот поэтому, многие и сидят на 7, по причине невозможности даже представить себе, во что может вылиться переход на управляемые формы. Так, для кого эти достижения современные? Или может вспомним достижение, на которое склонили всех поголовно, которое называется "расширения конфигурации", при включении которых можно получить абсолютно мертвую базу и оживлять ее при помощи перелива конвертацией, быстро накиданной на коленке всем известным способом?
54. starik-2005 2012 04.02.20 10:34 Сейчас в теме
(53) то, что типовые стали монструозными кусками г-на - так кто ж с этим спорит-то? Но управляемые формы тут ни при чем. Везде в современных продуктах испол зуется клиент-серверное взаимодействие - от веб-сайта самого простого и до многочисленных сервисов типа яндекс-карт. 1С - не исключение. Другое дело, что школьный комп сейчас быстрее парка устаревших серверов работает, поэтому так все у пяти пользователей и медленно - памяти мало на серваке (а если это файловая и без веб-сервера - вообще работать анриал), производительность сбалансированная, виртуалки, сервер скульный разнесен на отдельную виртуалку, венда дырявая уровня ПРО (если не хоум). Ну не будет это вменяемо работать, особенно на ксеонах кетайских первого поколения с низким IPC.

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

В финтехе все идет к транзакционным сервисам, в которых заявки и регчтся, а потом скоринг по ним бежит как джава-робот по бигдате.

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

Если у Вас бух "работает" с 1С - это скоро пройдет. Бух должен заниматься снижением налоговой нагрузки, в остальном система сама может: товар заводить не надо, он по ШК сам должен приехать, контрагенты тоже только ИНН, банк автоматом пришел-ушел, заявка на оплату должна руководителю в мобилу приехать и оттуда он ее должен утвердить или отклонить. Оборотку крутить - в чем смысл? Накладные по ЭДО, акт о расхождении туда же, дебиторка/крадиторка оттуда же и из банка - автоматом все уже может работать. Отчет о ДЗ и КЗ автоматом должен отсортированный по просрочке и периоду прийти всем, а там процесс урегулирования сам должен стартануть и письмо с претензией - шаблон - робот должен отправить и отрапортовать об этом.
55. Meistersinger 07.02.20 17:19 Сейчас в теме
(54) Вы это серьезно сейчас говорите? Про клиент-серверное взаимодействие? Были какие-то проблемы на 7.sql с ним может? Особенно допиленной на 1c++, всяких ToySQL, или напрямую - SQL DMO, ADOSql? Или вы думаете, что говно с кучей подзапросов, сделанное на скд не ушатывает сервер нагрузкой? Я Вам скажу по секрету, что оптимизатор запросов ms sql по-прежнему оперирует понятием 16 вложенных сущностей. А в любой типовой сущностей этих так много, что программист, не ориентирующийся в этой бсп может забыть как его зовут при отладке. А если еще вспомнить пр кэш, режимы совместимости, то поневоле задумаешься, а нужно ли все это. Просто делается все это как тренд, но по сути, вменяемым людям оно совершенно не нужно, как и нормальному бухгалтеру документы. Знавал я одного, который до упора в БЭС балансы рисовал сводными проводками, скрипты для которых был способен нарисовать сам. Он понимал что такое бухгалтерия. А снижением налоговой нагрузки занимается финдир и руководитель бухгалтерии, обычно. Это более к бизнес процессам, чем к ведению бухучета. Бизнесу не все равно, сколько работает процесс. У топ 10 Российских фармдистрибов в день выписывается по 20 000 документов и Ваши отложенные задания и асинхронные обработчики будут плавать вечность, которой нет, т.к. процесс непрерывный и круглосуточный. А новые полезные вещи типа ws и прочего, безусловно, следует изучать. да и расширения как идея очень хороши, только надо было приложить чуть больше усилий, перед их выпуском "в люди". Да и ЭДО СчфДоп, ДОП - тот еще геморрой, честно говоря. И ведь торговые площадки, активно это все использующие, сами регулярно вносят какие-то коррективы, за вполне себе сжатые сроки до внедрения. Это дает нам деньги на хлеб практически неиссякаемые, хватило-бы здоровья всем этим заниматься. А потребителю - денег, чтобы все это оплачивать. Разнесенные кластера серверов приложений и ms sql, раздельные массивы для системы, журнала транзакций, лок журнала и бд. Как это мило. Это и во времена разгула 7, в 98-2002 годах, было довольно монструозным, при тех мощностях. 7 на нынешних просто летают, кстати. А вот управляемые формы это лишняя, не нужная никому нагрузка на вычислительную часть сервера, ибо в теории, в клиентской части остается совсем немногое.
57. starik-2005 2012 08.02.20 16:35 Сейчас в теме
(55) Вы о другом говорите. Бух вообще скоро не нужен будет в части первички, главьух - про него и речь была - должен определять, что куда разнести, что как на расходы положить, чтобы меньше в бюджет заплатить лишнего - для этого его и взяли. И у него не должна голова болеть, как это потом в программе отрвзить, а сейчас болит и об этом, и о том, как потом проблемы исправить и желательно не через перепроведение документов, которое безо всяких управляемых форм может очень долго делаться (видял я, как народ все выходные последовательность восстанавливает ради одной корректировки, которая сделана началом периода - ну бред же, при этом УФ тут ни при чем).

Про 7ку я вообще не говорил - забыл уже, как страшный сон. Мир праху ее аместо с СОМ'ом и прочими устаревшими фичами.

А по поводу ожидания, то бизнес не оперативные сводки ждет. Для бизнеса важны P&L, Cash Flow и управленческий баланс, БДР и БДДС. Это бизнес готов ждать и по 10-15 дней после окончания месяца, при этом чаще всего получает он их к концу следующего месяца. Также для бизнеса важна ДЗ и КЗ, но это оперативная информация и раз в день извлечь ее и послать в воцап или на почту руководителям - труда не составляет.

УФ - это для платформы временами вещь с трудом подъемная, но реально это проблемы плохого железа. Пример недавно был - клиент открывает документ закрытия месяца в комплексной, а он колесо крутит час - строит дерево операций. Послк обновления сломалось. Смотрю в скул - у них статистика не обновлялась ни разу, планов обслуживания нет. Смотрю на инфраструктуру - там линух как хост, на гем КVM, на нем венда. В винде схема высокой производительности, на хосте - нет, турбо выключен. В итоге обновил статистику, включили высокую производительность и турбо на лигухе - стало мгновенно все открываться.

Вообще, управляемые формы - это ровно то, что используется во всех современных решениях. Бэк на сервере генерит форму в html, передает ее на клиента, который отрисовывает ее в браузере. На сервер уходят только нужные данные (тут 1Снеги часто сами виноваты, используя контекстные вызовы, но иногда без них никак - и это большая архитектурная проблема 1С, т.к. в других системах объект целиком между клиентом и сервером не ездит каждый раз). И это общий и, предположу, единственный подход - просить у клиента только реакцию и отображать ему только нужные для этой реакции данные. Итог - взаиможействие клиента и сервера как бэкэнда и фронтэнда. И на клиенте тут 1С часто и не нужна, а на сервере пользователя вообще не должно колышить, что там стоит и как работает. Пользователю система должна вопрос задать, а он должен на него ответить - все. И это должно юыть не сложнее воцапа какого-нить - без лишней инфы и с гарантированной доставкой запроса пользователю и его реакции серверу.
59. Meistersinger 09.02.20 23:10 Сейчас в теме
(57)Что-же Вы все время про устаревшие и не устаревшие фичи. Если фича еле ползает на свежем бодром железе, какой прогрессивной ее не назови, по факту она - чисто для развлечения программиста. на нормальном производстве, в нормальном бизнесе, востребована не будет. SQL DMO прекрасно продолжает работать и поныне. Со времен 6.5 и Sybase-предшественника MS SQL На любой версии SQL сервера. В чем его устарелость, я не понимаю? Давайте говорить о актуальности! Или Вам просто скучно и нужны свежие? Если да, то какие могут быть вопросы, если нет, то объективно, не вижу причин не использовать вьюхи, хранимые процедуры для внутренних систем. Кстати, с точки зрения оперативного учета, 7 актуальна и поныне. Ей не нужна поддержка 1С. Для нее даже библиотеку на современные SQL Server пропатчили. Системы, смотрящие в интернет любой разумный дистриб не делает онлайн, или на фронт ставит своего рода буфер, для дозированного информационного наполнения сайта на битриксе, или на чем-нибудь еще. А WS и XDTO это всего-лишь интерфейс. Пойдем дальше. Была конвертация 2. 2.1.8.2(2.1.8.3?) - последняя ее версия, после чего ее успешным образом забросили. Она умерла так толком и не родившись, с методической точки зрения. Единственная книжица по ней занимает от силы 100 страниц, курсы по ней то открывались, то закрывались. Знания получались опытным путем и коллективным разумом! И вот, привет, родилась конвертация 3, ничего общего с предшественницей не имеющая абсолютно. Это современна фича, или не очень ,мне любопытно? Она опять будет столь-же "глубоко" документирована, или еще менее? А Кэш Флоу и Пиэнэль, где не посмотри, делается путем титанических подготовительных работ, в бэкграунде, не важно, на чем он строится, важна его быстрая доступность, допустим, из полноценного Олап Куба (еще одна устаревшая технология, видимо) А то, что воротят в скд, если дело касается как сбора, так переработки и представления информации, в лучшем случае, просто работает. Да, с кажущейся гибкостью настроек. А по факту - ну не знаю. Все это, если посмотреть внутреннюю кухню работает безумно криво, с точки зрения оптимизации. И обновление железа не самоцель. Вот, еще помню, фронт, написанный на BCPP с Btrieve базой, на новелле 3.12. Он способен был работать с 2 стонями пользователей на археологически устаролом железе. О местоположении сервера можно было даже успеть забыть, до возникновения проблем, аптайм-годами, если сервер был подключен к бесперебойнику хорошему. И никто не жаловался на то, что надо срочно обновить железо. Но стоило только соскочить на 1с, сначала 20 юзеров было проблемой, потом перешли на MS SQL и 60 юзеров стали проблемой, но поднатужились, написали реструктурисацию средствами ms sql, и взлетело со 150 пользователями, потом поставили гибкие блокировки Софтпоинт, уже без меня и летало с 300. Покажите мне вменяемое современное железо, на котором УТ с управляемыми формами работает с 3 сотнями пользователей, какойва цена вопроса?

Короче говоря, мы друг друга поняли, засим, прекращаю этот бессмысленный монолог ,вернее 2 монолога. Бухгалтер по-прежнему должен ориентироваться в бухучете, который преимущественно описывает взаимоотношение счетов и принцип двойной записи и применимость плана счетов и законодательства к конкретному бизнесу. Операторы бухгалтерии, выписывающие документы - не бухгалтеры. Я гораздо более бухгалтер, чем они, Спасибо, Всего наилучшего!
60. starik-2005 2012 10.02.20 08:24 Сейчас в теме
(59) фича плохо ездит на действительно хорошем железе только тогда, когда это железо не настроено или настроено плохо.

Да, в 8.3 (как и в 7.7) есть серьезный архитектурный штраф, и да - управляемые формы рендерятся на сервере в бэкэнде и транспортируются для отображения на клиент целиком со всеми данными. Но это говорит о том, что не нужно в один документ вываливать тысячи строк - используйте регистр и динамический список, например. В том же вконтакте/фейсбуке никто сразу все с сервера на клиент не берет - понемногу, последовательно, по мере прокрутки контента. И в 1С должно быть так же - по чуть-чуть...

А если возвращаться к 7.7, то бещ sql - это очень медленно при извлечении последовательности данных. И трудоемкость разработки в ней куда выше, чем в современных фреймворках джавы (и даже снегопаты не делают из нее IntelliJ). А если с SQL, то и PHP фору даст с ларавелом с учетом необновляющейся части регламентированных отчетов, которые только и являются преимуществос 1С перед другими системами. Я вчера тут посмотрел Odoo - заставляет задуматься...
Meistersinger; +1 Ответить
62. Meistersinger 10.02.20 17:44 Сейчас в теме
(60)Ну, про курсоры это понятное и обоснованное заявление. Об этом еще в Платинум мне объясняли, видя мое недоумение, по поводу их отсутствия. На Оракле, кстати, тоже стараются не злоупотреблять. Но какой смысл в таком управляемом приложении: "управляемые формы рендерятся на сервере в бэкэнде и транспортируются для отображения на клиент целиком со всеми данными." И в разделении областей действия, при этом. Загадка. А еще, я хочу спросить, отчего так неряшливо с кэшем все происходит. И откуда такие безумные утечки памяти. Семерка, безусловно, не панацея от всех бед, но если-бы передо мной поставили задачу перевести высоконагруженную базу с 7 на 8, я-бы отказался. Устарившие технологии JSon, ну надо же, я ими еще не овладел, а они уже устаревшие. Основная претензия моя лежит к архитектуре БД, у условным ссылкам и общей нереляционности баз данных 1С 8-х версий, которые вынуждена хранить сейчас в своих таблицах черт знает что. И это еще хуже ,чем курсоры. Скорость и удобство разработки безусловно важна, но она не должна вытеснять интерес конечного потребителя. Он не должен становиться заложником ситуации. Ну и маркетинговые фишки, реализованные кое-как тоже мало кому нужны. Хотя, привыкаешь к хорошему быстро, даже если оно жестко глючит. Попробовав расширения, я мечтаю перевести свои БП2 на 3 редакцию, и перенести свои изменения в расширения конфигурации,но при этом понимаю, с чем придется столкнуться. Бизнес не платит за работу, ради ее самой.
64. starik-2005 2012 10.02.20 18:25 Сейчас в теме
(62) устарели не json и xml, а мктоды раьоты с ними в 1С - старые опенсорсные либы, которые уже не используются почти, а в 1С перепилить на другие либы получается непросто, ибо все треснет по швам. Но сейчас обмен уходит от xml в json и даже csv, а совсем у продвинутых - в протобуф, который, по-сути, является аналогом типизированного файла из паскаля - там файл можно было открыть по типу, а тип - структура (список полей с типом).
63. Meistersinger 10.02.20 18:03 Сейчас в теме
(60) "используйте регистр и динамический список, например"

Хорошо-бы, но для 1сника, который учился по методичкам, это будет сложно. Я пока не знаю способа сделать это штатными средствами. Тупить на документе с 30 000 строк, при отображении - это пожалуйста) Причем как в 7, так и в 8. Нарисовать это посредством Transact SQL я могу, отобразить в 1с тоже, но это не будет объектная модель 1С, увы.
61. starik-2005 2012 10.02.20 11:18 Сейчас в теме
(59)
Покажите мне вменяемое современное железо, на котором УТ с управляемыми формами работает с 3 сотнями пользователей, какойва цена вопроса?
Я полностью солидарен с Вами на тему того, что 1С - это сейчас не самое лучшее, что есть на свете (но и не смое худшее). То, что оперативный учет можно на машине с 20-летним процессором (и даже с 30-летним) поднять - тоже не спорю - первопни на хороших системах могут тысячи пользователей отлично обслуживать, но там нет шифрования трафика и прочих для них ресурсоемких моментов, которые в современных ОСях типа "искаропки".

Все в современном мире стремится к уменьшению затрат. Железо стоит не дешево, но еще дороже стоит время разработчика. И все пытаются сократить время разработки, но пока получается плохо - только хакатоны позволяют получить прототип за вменяемое время, а в аджайле прототип - это уже хорошо. И сделать обмен на 1С сейчас не легче, чем на Java реализовать ETL для любой шины данных (на 1С даже сложнее ввиду ограниченности самих 1С-негов и устаревших технологий для работы с XML и JSON, не говоря уже о протобуфе, который в 1С придется вручную записывать в новые объекты работы с памятью, в то время, как в большинстве других систем достаточно заинклюдить либу и получить весь спектр методов работы с этим делом).
Meistersinger; +1 Ответить
56. Meistersinger 07.02.20 17:37 Сейчас в теме
(54) К слову сказать, нет ничего из перечисленного Вами, что нельзя было-бы реализовать в 7. Да, в 8 появились любопытные методы, например "НайтиСтроки" - надо рисовать класс на 1с ++, структура, соответствие тоже весьма полезная штука, да и в самих html формах нет ничего плохого. Демон таится в деталях. Обработчики передачи контекста с серверной на клиентскую часть и обратно. Да, кстати, и управление блокировками, в теории, более гибкое чем у старушки 7, но на практике, думаю, что софтпоинтовская приблуда будет по-прежнему на высоте. А если из 7 выпилить все обработчики и перенести их во вьюхи, хранимые процедуры, то вообще получается прекрасный образчик тощего клиента, единственное, холодильник не захочет с ним работать и в браузере не запустишь. И это не тот случай, когда можно сказать, что я противлюсь прогрессу, отнюдь, просто происходит подмена целеполагания. Если раньше, развитие систем было клиенториентированным, то сейчас-чисто маркетинговая чепуха, на 80% 20% полезностей я не отрицаю.Никто, кстати, не отменял такой вещи как контроль, который в ваших бизнес процессах может запросто заблудиться и стать абсолютно недоступным для оператора учета.
58. starik-2005 2012 08.02.20 16:54 Сейчас в теме
(56) так клиенту 1С не нужна - ему скорее бот нужен в телеге или еще где. Пользователь фактически должен проверить, как система отработала - сравнить первичку с результатом загрузки. Вообще, что там на сервере - класть банан на это пользователю. У него должна быть кнопка. ...

Вот, например, склад. Там персонал делает три вещи: раскладывает пришедшее, складывает уходящее и считает периодически оставшееся. Зачем ему там 1С? Ему там ТСД нужен на андройде с мобильным приложением (пусть и на 1С - пофиг на чем), где он эти три операции делать сможет. Вот у него там задание на размещение, задание на сборку и задание на инвентаризацию, в них стелаж и полка, для первых двух наименование и количество. Подошел, щелкнул ШК, положил/взял/посчитал и дальше пошел класть/брать/считать. Все. И как все взял/поклал/посчитал - вылезла бумага их принтера - упаковочная этикетка, которую радо на коробку наклеить. И инфа о сборке должна как в макдачнице быть - на могиторе со мборочным номером и, чтобы мовсем по приколу было, с результатами командного зачета - кто больше собрал/разложил/посчитал и кому медаль дадут...

На производстве ровно как в макдачнице должно быть - клиент набрал бургеров, они попали в заказ, заказ в части дифицита попал в производство, персонал пожареные котлеты положил в нужный бургер (а ненужные бургеры производство не шлепает - ориентируется на пустые ячейки - канбан у них там). И все это на мониторчиках, на которых типа нажарить котлет, нарубить травы, нарезать булок, напихать первое и второе в третье, положить в коробочку и засунуть в ячеечку. И что там на сервере - пофиг, а вот на клиенте - телевизор с тачскрином, на котором это все отрисовывается. Выполнил задачу - нажал кнопку. Если где-то все не так - значит это не эффективно, значит более эффективный бизнес, делающий то же самое, вытеснит неэффективный в результате конкуренции, как это делают уже интернет-магазины в некоторых сегментах.
51. acanta 73 15.08.18 13:46 Сейчас в теме
По аллегории Лукьяненко Иные - это аутисты, которые объединились и нашли себя в нашем мире, а сумрак - депрессия/неспособность вести себя как все. Короче, всем выйти из сумрака.
52. Meistersinger 03.02.20 20:41 Сейчас в теме
Преимущества? Серьезно? Сижу и смотрю на БП3, у которой обновились БСП, изменился режим открытия форм. Вспоминаю сисадмина, который меня спрашивает ,почему БП3 постепенно отжирают в 10 раз больше памяти, чем БП2. И работает, при этом, раза в 3 медленнее, в-среднем. Что-же мне ему ответить? Какие преимущества привести? Может бухам стало удобнее работать? Или главное не это? Может, в миллиардах процедур стало легче разбираться? Теперь, помимо синтаксиса, нужно иметь скилл знания содержимого БСП, или хотя-бы приблизительно, где чего искать. Год назад склоняли всех к "такси", теперь его изнасиловали и бухи пытаются найти былую функциональность, тщательно спрятанную от их глаз. Чего ради, и зачем? А я ковыряю старые обработки, которые внезапно перестали работать. Видимо, не модно стало поддерживать старую функциональность? Или может, вспомнить, косяки платформы предыдущей, которые в новой решили "пофиксить" и внезапно оказалось, что идентификаторы объектов отъехали? Я такого за всю свою сознательную жизнь не упомню, со времен обновления конфы бд "не потомка" в 7. Так где преимущества? xml формы преимущества? Вот в это верю, что стало хотеться сделать, чтобы на любом холодильнике могло взлететь. Но много-ли людей работают в 1с на планшетах?
Оставьте свое сообщение

См. также

Простой и красивый интерфейс

Статья Программист Нет файла v8::Mobile Бесплатно (free) Работа с интерфейсом Мобильная разработка

Разработчики мобильных приложений на платформе 1С сталкиваются с проблемой адаптации сгенерированного платформой интерфейса под удобство использования. О том, какие приемы помогут сделать интерфейс красивым и удобным, на конференции Infostart Event 2019 Inception рассказал руководитель отдела мобильной разработки компании «1С-Рарус» Никита Бакшеев.

30.01.2020    5840    Baksheev-Nikita    29       

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

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

Динамический список. Апгрейд справочника "Номенклатура" типовой конфигурации с помощью расширения

Статья Программист Стажер Нет файла v8 УНФ Бесплатно (free) Практика программирования Работа с интерфейсом

В данной статье я приведу пример апгрейда справочника "Номенклатура" типовой конфигурации. В основе апгрейда лежат алгоритмы работы с динамическим списком на базе расширения конфигурации.

26.01.2020    2818    aximo    10       

СКД. Шаг 3. Используем макеты для оформления отчета

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Работа с интерфейсом

В данной публикации рассмотрим базовый подход к использованию собственных макетов в СКД на примере формирования небольшого отчета.

13.01.2020    4090    aximo    13       

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

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

16450 рублей

[СКД] Вывод картинки в результат любого отчета на СКД

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Работа с интерфейсом

Если у вас в справочнике Номенклатура (или другом справочнике) заполнена картинка, то ее можно легко вывести для наглядности отчета.

09.12.2019    5102    1    John_d    16       

Управляемые формы. Изменение формы списка или формы объекта без внесения изменений в типовые формы (без использования расширений)

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Работа с интерфейсом

Вносим изменения в типовые формы объектов (документы, справочники, журналы, обработки, общие формы). Не снимая с поддержки эти формы. Создаем программно элементы из общего модуля. Для примера рассмотрю добавление колонки "Скрепка" в форму списка документа. Если к документу привязан файл, то в списке в новой колонке должна отображаться "скрепка".

12.11.2019    6657    John_d    23       

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

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

5 500

ELK. Время изумительных историй!

Статья Системный администратор Программист Бизнес-аналитик Руководитель проекта Нет файла v8 1cv8.cf Бесплатно (free) Журнал регистрации Работа с интерфейсом

Всем привет! Сегодня хочу рассказать вам несколько полезных историй про то как нам помог Elastic search в связке с Kibana. Про сам Elastic рассказывать не буду, уже все давным давно описали и до меня. Все обычно говорят что это полезно, это классно. В то же время, очень мало кто рассказывает про практические ситуации: когда и как помог Elastic. Итак, начнем.

31.10.2019    5258    slozhenikin_com    27       

Изменение макета в карточке номенклатуры(УТ 11, КА 2)

Статья Программист Нет файла v8::УФ ERP2 УТ11 КА2 Бесплатно (free) Практика программирования Работа с интерфейсом

Краткая памятка по выведению добавленного реквизита в справочнике Номенклатура в стандартную карточку номенклатуры в УТ 11, КА 2, ERP 2.

24.10.2019    2242    darkultro37    4       

Сдача регламентированной отчетности из программ 1С Промо

Сдача регламентированной отчетности из программ "1С" во все контролирующие органы без выгрузок и загрузок в другие программы. Для групп компаний действуют специальные предложения.

от 1500 руб.

Создание асинхронных виджетов

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Работа с интерфейсом

Описание нескольких способов создания асинхронных виджетов для 1С:Предприятия. Рассматриваются способы с использованием HTTP-сервисов и фоновых заданий.

16.10.2019    6938    YPermitin    15       

Формы. Трудности программной работы

Статья Программист Нет файла v8 v8::УФ 1cv8.cf Бесплатно (free) Работа с интерфейсом

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

06.10.2019    6928    YPermitin    21       

Голосование за доклады на INFOSTART MEETUP Kazan - до 25 февраля. Промо

Выбирайте и голосуйте за самые интересные доклады! Лучшие из лучших попадут в окончательную программу казанского митапа. Оставить свой голос можно до 25 февраля 2020 года.

Лайфхаки 1С (часть 1). Настройки отчетов и печатных форм 1С

Статья Программист Пользователь Стажер Нет файла v8 1cv8.cf Россия Бесплатно (free) Работа с интерфейсом

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

02.10.2019    8203    VachKirp    10       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

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

6500 рублей

Добавляем виджет "Задачи от меня" в Документооборот 2.1

Статья Программист Нет файла v8 v8::Бизнес-процессы ДО Россия Бесплатно (free) Практика программирования Работа с интерфейсом

Небольшая доработка Документооборота 2.1 для возможности добавления виджета "Задачи от меня" в обработку Текущие дела.

25.09.2019    4072    Sergey_Borisovi4    3       

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

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

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

[Механизм интерфейса] Часы

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Работа с интерфейсом Практика программирования

Добавляем цифровые часы на форму, как бонус рассмотрим вариант и с аналоговыми.

26.08.2019    5943    rpgshnik    36       

Произвольная начальная страница через расширение (программно)

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Работа с интерфейсом

Установка своей формы произвольному пользователю на начальную страницу.

14.08.2019    5680    nagaitseff    15       

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

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

Подходы, методы и инструменты UX/UI для разработки эффективных интерфейсов на 1С

Статья Программист Нет файла v8 Бесплатно (free) Работа с интерфейсом

Интерфейсам в 1С обычно уделяют мало внимания. Это в итоге снижает востребованность платформы, делает ее неконкурентной, лишает большой доли рынка. Как не потерять старых клиентов и привлекать новых с помощью интерфейсов, а главное – как сделать «правильный» интерфейс, рассказал участникам конференции Infostart Event 2018 Education управляющий партнер и основатель консалтинговой группы WiseAdvice Иван Тягунов.

07.08.2019    6935    IvanAT1981    14       

Форма отчета СКД

Статья Пользователь Нет файла v8::СКД 1cv8.cf Бесплатно (free) Работа с интерфейсом

Описание объекта ОбщиеФормы – ФормаОтчета.

01.08.2019    7194    vasilev2015    5       

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

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

Пользовательские настройки системы компоновки данных

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Работа с интерфейсом

Работа с отчетами в пользовательском режиме, формы отчетов. Понятие пользовательских настроек в отчетах на СКД. Определение состава пользовательских настроек для разделов в целом и для отдельных элементов, для всего отчета и для отдельных группировок. Видимость функциональных опций в отчетах на СКД.

09.07.2019    12937    ids79    2       

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

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

Подсистема "Варианты отчетов". Используете ли Вы ее правильно?

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Работа с интерфейсом БСП (Библиотека стандартных подсистем)

Небольшая история про использование подсистемы "Варианты отчетов" из БСП. Используете ли Вы ее правильно?

04.06.2019    25672    YPermitin    51       

Базовый курс по управлению ИТ-проектами. Курс проходит с 26 февраля по 22 апреля 2020 года. Промо

Отличительная черта курса - органичное сочетание трех вещей: 1.Теория проектного управления (PMI®+Agile Alliance+Российские ГОСТ+Методологии от 1С); 2. Опыт внедрения продуктов 1С (опыт франчайзи и успешных компаний + тренды Infostart Event и Agile Days); 3. Разбор реальных проблем и рекомендации экспертов по проектам слушателей. Мы будем фиксироваться на тех инструментах, которые реально оказываются полезными в практике руководителей проектов внедрения. Ведущая курса - Мария Темчина.

от 11000 рублей

Расшифровка отчета на СКД с детализацией по выбранному полю на основе БСП

Статья Программист Нет файла v8 v8::УФ v8::СКД 1cv8.cf Россия Бесплатно (free) Практика программирования Работа с интерфейсом Разработка

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

14.05.2019    11911    Viktor_Ermakov    6       

Свой макет оформления отчета

Статья Программист Нет файла v8 v8::СКД Россия Windows Бесплатно (free) Работа с интерфейсом

Пример создания и оформления и применения своего (пользовательского ) макета оформления для СКД.

24.04.2019    7914    olegpkc    5       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

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

5500 рублей

Как добавить типовую форму для СКД (для начинающих) (1С 8.3, управляемые формы)

Статья Программист Стажер Нет файла v8 v8::УФ v8::СКД Бесплатно (free) Инструментарий разработчика Работа с интерфейсом

Кастомизация СКД, нестандартная расшифровка, загрузка параметров и другие действия требуют наличия формы отчета. При создании СКД отчета по умолчанию форма не создается, в большинстве случаев это и не требуется. Однако при ситуациях, перечисленных выше, форму все же нужно создать. Это простая инструкция по созданию такой типовой формы.

25.03.2019    8532    ellavs    9