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

19.09.17

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

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

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

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

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

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

СУТЬ ЗАДАЧИ

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

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

СУТЬ ВЕЩЕЙ

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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


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

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

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

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

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61697    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54312    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16623    21    4    

35

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    10560    745    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

10.04.2023    9484    150    acces969    31    

115

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3577    kalyaka    2    

27

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12009    1    5    

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

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


Доброе утро;)
user598883_galiev.uralsk; 1c_ssnik; rpgshnik; FomkRo; v.a.ryag; HameleonA; ZDmitry83; kild; PoZiTiFFF; bulpi; Gorus; TreeDogNight; jONES1979; NN2P; uri1978; awk; Tolpinski; mmoozzgg; +18 Ответить
2. starik-2005 3031 19.09.17 09:17 Сейчас в теме
(1) рез и доп - обязательные аргументы функции оповещения. Без них она работать не будет. Учим мат.часть.

Ну, как я и говорил, подтянулись "программисты", плохо владеющие механизмами платформы. Но для остальных появилась возможность учиться на чужих ошибках)))
G_116449793522595596167; DA87; kild; Anchoret; uri1978; Sheriff1987; KSy; корум; +8 2 Ответить
9. nomadon 367 19.09.17 10:03 Сейчас в теме
(2) я не про наличие параметров в процедуре (кстати это процедура а не функция), а про смысловое наименование переменных
user598883_galiev.uralsk; 1c_ssnik; rpgshnik; 987ww765; +4 Ответить
11. starik-2005 3031 19.09.17 10:08 Сейчас в теме
(9) в С вообще процедур нет - одни функции, но некоторые из них не возвращают значение. Так что разницы между словами "процедура" и "функция" практически нет. Главное, что свою функцию данная процедура выполняет. Помните картинку о всей сути критиков со словами "горизонт завален"? Вот в этом вся суть Вашей критики. Молодежи может даже интересно на этот диалог посмотреть, так что не зря.
varikap; IraNov_; kild; +3 2 Ответить
14. nomadon 367 19.09.17 10:21 Сейчас в теме
(11) ну тогда можно вообще в нулях и единицах пример писать, функция процедуры тоже будет выполняться)
1c_ssnik; 987ww765; user5300; +3 Ответить
15. starik-2005 3031 19.09.17 10:31 Сейчас в теме
(14) ну если заговорили о нулях и единицах, то в ассемблере нет различий в вызове процедур и функций, а машинному коду об именах переменных ничего не известно.

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

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

А если процедура получиться не маленькая в конце уже и можно запутаться в сокращениях...
1c_ssnik; zaic; kild; mvxyz; PoZiTiFFF; Gorus; TreeDogNight; Prikum; +8 Ответить
4. starik-2005 3031 19.09.17 09:25 Сейчас в теме
(3) а смысл обязательные аргументы функции писать полными именами? Я ж написал, что для друзей УФ можно и без фамилии обойтись.)))
67. v.a.ryag 37 11.06.21 08:32 Сейчас в теме
(4) Если пишете для себя, то смысла нет, если для людей - прислушайтесь пожалуйста. Помимо этого еще есть моменты - например что несет доп параметр "Подбор" в описании оповещения? И почему владельцем указана ЭтаФорма, а не конкретная таблица?
Вроде всё и просто, но из-за таких нюансов не всегда понятно. Не воспринимайте в штыки, в целом такие статьи - дело хорошее)
1c_ssnik; +1 Ответить
5. TODD22 18 19.09.17 09:35 Сейчас в теме
Очень похоже на пример из книги Радченко "Практическое пособие разработчика" из главы "Организация подборов" или нет?

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

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

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

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

Вот, кстати, придумал хорошую задачку для собеседования: есть куб или квадрат с ребром/стороной Х. Какая длина стороны/ребра будет у куба/квадрата с объемом/площадью, в два раза меньше исходного. Сильно сложная? )))
31. webester 26 20.09.17 15:49 Сейчас в теме
(30)Я пробую. Но вроде как уже напился. Не знаю может влезет еще немного.
>>Сильно сложная.
Что вы хотите выяснить этой задачей? Я тоже ищу, что бы спросить у кандидата в программисты, если он не умеет ничего. От слова вообще.
32. KapasMordorov 428 20.09.17 16:39 Сейчас в теме
(30)
Он над нами издевался. Ну сумасшедший, что возьмешь!
18. pbazeliuk 1954 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.Добавить().ФИО = ВыбранноеЗначение;
КонецПроцедуры

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


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

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

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

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

А про культуру программирования на ассемблере тоже много всего написано. Например, общепринятое обнуление регистра (против майкрософтовского).
1c_ssnik; Meistersinger; +2 Ответить
47. starik-2005 3031 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 144 09.08.18 13:23 Сейчас в теме
(47) Да, это позор, когда делаешь элементарные ошибки в переписках и я этого стыжусь, а не горжусь этим)))
1c_ssnik; +1 Ответить
49. starik-2005 3031 09.08.18 13:25 Сейчас в теме
(48)
и я этого стыжусь
Ну так учитесь не делать их, ведь процитированная мной часть Вашего сообщения - это второе простое предложение, связанное с первым союзом "и", перед которым, как всем известно (не, ну правда всем, ибо оное в школе проходят), ставится запятая.
50. spacecraft 09.08.18 17:08 Сейчас в теме
(46)
1С-вцы издадут целую главу рекомендаций, на тему как надо сокращать переменные. Ну а пока этого нет....

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

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

На производстве ровно как в макдачнице должно быть - клиент набрал бургеров, они попали в заказ, заказ в части дифицита попал в производство, персонал пожареные котлеты положил в нужный бургер (а ненужные бургеры производство не шлепает - ориентируется на пустые ячейки - канбан у них там). И все это на мониторчиках, на которых типа нажарить котлет, нарубить травы, нарезать булок, напихать первое и второе в третье, положить в коробочку и засунуть в ячеечку. И что там на сервере - пофиг, а вот на клиенте - телевизор с тачскрином, на котором это все отрисовывается. Выполнил задачу - нажал кнопку. Если где-то все не так - значит это не эффективно, значит более эффективный бизнес, делающий то же самое, вытеснит неэффективный в результате конкуренции, как это делают уже интернет-магазины в некоторых сегментах.
51. acanta 15.08.18 13:46 Сейчас в теме
По аллегории Лукьяненко Иные - это аутисты, которые объединились и нашли себя в нашем мире, а сумрак - депрессия/неспособность вести себя как все. Короче, всем выйти из сумрака.
52. Meistersinger 03.02.20 20:41 Сейчас в теме
Преимущества? Серьезно? Сижу и смотрю на БП3, у которой обновились БСП, изменился режим открытия форм. Вспоминаю сисадмина, который меня спрашивает ,почему БП3 постепенно отжирают в 10 раз больше памяти, чем БП2. И работает, при этом, раза в 3 медленнее, в-среднем. Что-же мне ему ответить? Какие преимущества привести? Может бухам стало удобнее работать? Или главное не это? Может, в миллиардах процедур стало легче разбираться? Теперь, помимо синтаксиса, нужно иметь скилл знания содержимого БСП, или хотя-бы приблизительно, где чего искать. Год назад склоняли всех к "такси", теперь его изнасиловали и бухи пытаются найти былую функциональность, тщательно спрятанную от их глаз. Чего ради, и зачем? А я ковыряю старые обработки, которые внезапно перестали работать. Видимо, не модно стало поддерживать старую функциональность? Или может, вспомнить, косяки платформы предыдущей, которые в новой решили "пофиксить" и внезапно оказалось, что идентификаторы объектов отъехали? Я такого за всю свою сознательную жизнь не упомню, со времен обновления конфы бд "не потомка" в 7. Так где преимущества? xml формы преимущества? Вот в это верю, что стало хотеться сделать, чтобы на любом холодильнике могло взлететь. Но много-ли людей работают в 1с на планшетах?
Yulia_Krylova; 1c_ssnik; alex-l19041; +3 Ответить
65. user1302055 15.12.20 21:11 Сейчас в теме
Вижу, что автор - гуру своего дела. Не хочу обидеть остальных. Очень бы хотел от него совета(-ов) как можно одолеть этот 1С. Просто очень хочу стать профи, но она какая-то нескончаемая. Работаю во франче, по-тихоньку двигаюсь, на уме одна работа, но вопросов всё больше... И ответить на вопросы никто не может, ибо все эникейщики по настройке и спецы по перепроводкам. Не принижаю их достоинств, но это точно не моя стезя.
66. Yulia_Krylova 03.02.21 20:04 Сейчас в теме
Добрый день! У меня так не работает. Нужно в конструкции:
ОткрытьФорму(
"Справочник.Справочник1.ФормаВыбора",
Новый Структура("ЗакрыватьПриВыборе, РежимВыбора",
Ложь, Истина),
ЭтаФорма
в последней строчке вместо "Этаформа" написать что-то из элементов формы, табличную часть или реквизит..
Например:
Элементы.ДокументыПоступления
68. kns77 100 24.09.21 09:29 Сейчас в теме
Сама УФ работает достаточно шустро, чистая конфа с 2 регистрами, 2 документами,4 справочниками и 2000 строк кода открывается 2 секунды и документы которых порядка 1000 штук открываются доли секунды. По моему проблема быстродействия не в УФ, а в кривости и монстрообразности типовых конф. Чтобы открыть список или форму, как правило запускается цепочка из 10-20 процедур, функций, подписок и т.д. Если какая то не оптимизирована, тут то и начинаются тормоза.
69. starik-2005 3031 24.09.21 10:29 Сейчас в теме
(68) на днях Юрий Пермитин (если не ошибаюсь) опубликовал статью про полнотекстовый поиск, там хорошо разбираются допзапросы при фильтрации и что заставить это толком работать весьма непросто. Ну и роли, коих в ЕРП, например, овер 1к, каждый запрос тормозят очень существенно на стадии компиляции. Если еще и РЛС есть - все мрет.
70. strelec13 20 15.10.21 16:07 Сейчас в теме
Я не настолько профи, чтобы дисскутировать в деталях 1С вообще и в УФ в частности. Я из так называемых "программистов". И не стану тем более писать хорошо или похо УФ. Но в пользу автора и в критику тех кто здесь критиковал УФ вообще и в данной теме в частности, пишу. Нам "программистам" приходится работать с УФ! Поэтому любой анализ или советы для понимания только на пользу "программистам". Думаю критиковать недостатки УФ в пользу бедного, потому что разработчики лучше знают о недостатках своего творения. И вспоминать, как 1С работало быстрей, зачем ? :) Ну разве чтобы критикующие программисты (без кавычек) отвели душу в дискуссиях , ностальгируя как работала 1С быстрей раньше и чтобы "программисты" завидовали им :). Как говориться "проехали". А недостатки в любом нововедении всегда можно нарыть. Что уж говорить о человеческой слабости работать постаринке, как то привычнее. Хотя и польза есть от прозвучавшей критике здесь (как было быстрей, лучше или хорошо), хоть "программисты" извлекут из этой критики историю развития 1С :). А если кому из программистов (без кавычек) удается работать с системами например 7-ка и продолжать выполнять и удовлетворять задачи пользователей вообще и главбуха или руководства в пользу простоты и быстроты, то можно аплодировать таким. Правда случись что с этими мастадонтами (не дай бог), то расхлебывать за ними кому потом, нам "программистам" или программистам (без кавычек), которые уже не знают 7-ку и прочих прошлых хоть и быстрых систем? А главное такая экономия на дешевых и быстрых системах из прошлого, потом в десятеро дороже обойдется при вынужденном преходе на новые системы , хоть и намного мделенных (о чем упомянули здесь критики), ну разве что надеятся на новую железку, которой предрекают большое будущее по части быстроты.
71. strelec13 20 15.10.21 16:45 Сейчас в теме
(70) В продолжении. Не мешало бы от такой прозвучавшей критики (зачем УФ или что это нехорошо) услышать или прочитать предложения, чем заменить или как исправить. Нет таких предложений? тогда извините, прозвучавшая критика о пользе УФ прозвучала в паровозный гудок. Кроме предложения вернутся к 7-ке (шутка).
Оставьте свое сообщение