Подбор в управляемой форме - что может быть проще?
Разработка - Работа с интерфейсом
Добрый день, коллеги!
Сегодня наше радио ведет репортаж из зоны, не входящей в зону комфорта многих жителей местного галактического скопления. Чтобы внести ясность и убрать сумятицу, я решил еще раз коснуться давно известной продвинутым бомбардирам 1С методики асинхронного открытия формы для подбора нужных и полезных данных из различных внешних формочек.
Навела меня на мысль рассказать об этом еще раз некая Анна, создавшая эту вот тему, в которой в очередной раз встречаю я богомерзкие слова "Результат = Форма.ОткрытьМодально()", а нервы то уже не те!!! )))
Итак, приступим к тому, чтобы внести ясность.
СУТЬ ЗАДАЧИ
Есть форма документа, есть справочник, данные из которого нужно поместить в таблицу формы документа (или в реквизит формы, или еще куда - тут это вопрос второй).
Некоторые "программисты" (ну да, назовем так), которые еще не вкусили прелестей нового мира и нового мирового порядка, все еще для подобных действий не находят ничего лучше, чем использовать старый и проверенный "Элементик = ОткрытьФормуМодально(ИмяФормы, ...);", а кое-кто сначала форму получает в переменную и только потом открывает (как в том самом вопросе на форуме, с которого все началось). Ну не на олимпиаде он - за дополнительную переменную балл не снижают (зряплату не понижают).
СУТЬ ВЕЩЕЙ
До сих пор многие матерые кулхацкеры плюются в сторону асинхронности и запрета модальности, но, по-сути, в плане подбора ничего не изменилось. Как была некая асинхронность (т.е. отдельная процедура обработки выбора), так она и осталась. Просто и форму можно открывать теперь асинхронно, выделяя процедуру обработки результата в отдельную процедуру и таким образом объединять все обработчики в одной функции, а не раскидывать их по всему модулю формы. Также никто не мешает вынести обработчики вообще в отдельный модуль.
Давайте ответим на главный вопрос статьи: "как организовать подбор в управляемой форме?" Для этого откроем форму с признаком "ЗакрыватьПриВыборе = ложь" и "РежимВыбора = истина":
&НаКлиенте
Процедура Подбор(Команда)
ОткрытьФорму(
"Справочник.Справочник1.ФормаВыбора",
Новый Структура("ЗакрыватьПриВыборе, РежимВыбора",
Ложь, Истина),
ЭтаФорма
, , , ,
Новый ОписаниеОповещения(
"ПриЗакрытииФормыПодбора",
ЭтаФорма,
"Подбор"),
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца
);
КонецПроцедуры
В приведенном коде открывается форма выбора справочника "Справочник1", также предполагается, что у нас есть экспортная клиентская процедура "ПриЗакрытииФормыПодбора", которая будет вызваться при закрытии формы выбора.
Т.к. у нас параметр "ЗакрыватьПриВыборе" установлен в "ложь", то форма справочника при двойном клике или нажатии клавиши "Энтер" на элементе закрываться не будет. При этом т.к. параметр "РежимВыбора" установлен в "Истина", то каждый даблклик и "Энтер" будет генерировать событие "ОбработкаВыбора" во владельце. Таким образом, если у нас, например, каждый раз, когда выбирают элемент в форме выбора, должна добавиться строка табличной части, код дополнится вот такой процедурой:
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
Объект.ТабличнаяЧасть1.Добавить().ФИО = ВыбранноеЗначение;
КонецПроцедуры
Нужно иметь ввиду, что обработка выбора - это не просто функция, а событие формы, соответственно создавать ее лучше через выбор соответствующего события в списке процедур и функций (энтузиасты этого дела могут создать процедуру, а потом выбрать ее в спсике над кодом формы или вообще в событиях формы).
Код, приведенный выше, всего-то добавляет новую строку в табличную часть "ТабличнаяЧасть1" и устанавливает там в реквизит "ФИО" выбранный в форме подбора элемент справочника.
Для красочности картины давайте дополним код процедурой, обрабатывающей закрытие формы выбора:
&НаКлиенте
Процедура ПриЗакрытииФормыПодбора(Рез, Доп) Экспорт
Сообщить("Ура, форма подбора закрыта!");
КонецПроцедуры
В данном случае при закрытии формы владельца просто вывалится сообщение: "Ура, форма подбора закрыта!".
РАЗВИТИЕ НАСТУПЛЕНИЯ
Мы можем, конечно, вообще не использовать обработку выбора при выборе единичного значения. Для этого достаточно переписать открытие формы выбора таким образом, чтобы параметр "ЗакрыватьПриВыборе" устанавливался в "Истина". Но и обработку выбора значения нужно будет реализовать в асинхронной процедуре, указанной в описании оповещения:
&НаКлиенте
Процедура ПриЗакрытииФормыПодбора(Рез, Доп) Экспорт
// если ничего не выбрали, то в рез будет пусто...
Если НЕ Рез = Неопределено Тогда
Объект.ТабличнаяЧасть1.Добавить().ФИО = Рез;
КонецЕсли;
//Сообщить("Ура, форма подбора закрыта!");
КонецПроцедуры
//&НаКлиенте
//Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
// Объект.ТабличнаяЧасть1.Добавить().ФИО = ВыбранноеЗначение;
//КонецПроцедуры
В этом коде мы убрали процедуру обработки выбора, т.к. если бы мы ее оставили, то у нас создались бы две строки. Почему? Над этим вопросом рекомендую подумать факультативно (в качестве домашнего задания, если кто хочет).
Также в обработке асинхронного оповещения необходимо контролировать возвращенный результат. Если результат пустой, то это говорит о том, что форму просто закрыли, не выбрав никакого значения. Для этого в коде добавлена проверка на "Рез = Неопределено".
Давайте окончательно разберемся с темой и добавим возможность ввода, например, количества "ФИО" в документе. Для этого пропишем еще одну асинхронную процедуру, которая будет обрабатывать ввод числового значения. Для этого вернем "ложь" для параметра формы "ЗакрыватьПриВыборе", раскомментируем процедуру "ОбработкаВыбора" и убурем из процедуры асинхронного оповещения добавление строки:
&НаКлиенте
Процедура ПриЗакрытииФормыПодбора(Рез, Доп) Экспорт
//если ничего не выбрали, то в рез будет пусто...
//Если НЕ Рез = Неопределено Тогда
// Объект.ТабличнаяЧасть1.Добавить().ФИО = Рез;
//КонецЕсли;
// снова "Уга, товагищи!"
Сообщить("Ура, форма подбора закрыта!");
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
ПоказатьВводЧисла(
Новый ОписаниеОповещения("ПриВводеЧисла",
ЭтаФорма,
ВыбранноеЗначение), , // вот тут у нас как раз появился доппараметр
"Введите количество ФИО",
10,
0
);
КонецПроцедуры
&НаКлиенте
Процедура ПриВводеЧисла(Рез, Доп) Экспорт
// найдем строки с этим "ФИО"
НайденныеСтроки = Объект.ТабличнаяЧасть1.НайтиСтроки(Новый Структура("ФИО", Доп));
// если не нащли - добавим
Если НайденныеСтроки.Количество() = 0 Тогда
Ст = Объект.ТабличнаяЧасть1.Добавить();
Ст.ФИО = Доп;
Ст.Колво = рез;
Иначе
// если нашли - увеличим колчество
НайденныеСтроки[0].Колво = НайденныеСтроки[0].Колво + рез;
КонецЕсли;
КонецПроцедуры
Итак, тут мы помимо прочего не просто добавляем новую строку, а, если такое "ФИО" уже есть, добавляем выбранное количество в него (увеличиваем поле "Колво"). И тут нам как раз пригождается второй аргумент процедуры обработки оповещения - "ДополнительныеПараметры" (для друзей управляемых форм просто "доп"). В этот аргумент мы можем засунуть что угодно, когда создаем описание оповещения - очень, на мой взгляд, удобно. Тут как раз мы сохраняем выбранный элемент (чтобы не плодить никому не нужные переменные).
ЗАКЛЮЧЕНИЕ
В действительности у управляемых форм есть масса преимуществ перед формами обычными. И асинхронность - это еще не самый интересный механизм. Вот, например, статья о том, как передавать параметры отбора (фильтр) в форму выбора, чтобы показывать пользователю не весь справочник, а только нужную его часть (даже если эта часть определяется значением строки табличной части).
INFOSTART DataFormWizard: управление данными и формами в 1С 8.3
Решение INFOSTART DataFormWizard обеспечивает проверки ввода данных, скрывает от пользователя недоступную информацию и выполняет код в обработчиках — без изменения конфигурации. Легко устанавливается и работает практически с любой конфигурацией на управляемых формах.
Вступайте в нашу телеграмм-группу Инфостарт
УФ управляемые формы асинхронность подбор описание оповещения
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
См. также
Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)
Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!
31720 руб.
27.03.2025 92443 69 44
Консолидация данных Работа с интерфейсом Разработчик Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 1C:ERP Узбекистан Беларусь Кыргызстан Россия Казахстан Платные (руб)
Знакомая ситуация? Пользователи, особенно менеджеры, уверены: отборов много не бывает. Идут пожелания добавить в форму списка еще один быстрый фильтр, еще два, еще пять... В итоге интерфейс превращается в нагромождение полей отбора, а потребность в «самом главном» отборе, который «вот прямо сейчас нужен», все равно не закрыта. Универсальное расширение, которое решает эту проблему элегантно и технологично. С его помощью в любую форму списка можно легко добавить панель настраиваемых кнопок-закладок, каждая из которых применяет сложный фильтр-запрос, а так же показывает актуальное количество элементов в реальном времени.
6088 руб.
17.10.2025 3690 3 0
Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)
Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.
36600 руб.
28.08.2025 10400 2 2
Работа с интерфейсом Разработчик Стажер 1С:Предприятие 8 Бесплатно (free)
Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна
20.08.2024 57520 mrXoxot 44
Работа с интерфейсом Разработчик 1С:Предприятие 8 Бесплатно (free)
Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.
27.05.2024 30032 smielka 39
Инструментарий разработчика Работа с интерфейсом Разработчик 1С 8.3 Абонемент ($m)
Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.
1 стартмани
10.04.2023 19517 190 acces969 31
Работа с интерфейсом Разработчик 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)
Питничная фантазия на возможности в разработке интерфейсов формы с помощью Платформы 1С - делаем свою подсказку. Публикация содержит готовую библиотеку программного формирования данной подсказки.
12.08.2022 17001 top_1c 39
Работа с интерфейсом Разработчик 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)
"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.
1 стартмани
05.07.2022 17991 kalyaka 8
Тут есть программная "ошибка".
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
Объект.ТабличнаяЧасть1.Добавить().ФИО = ВыбранноеЗначение;
КонецПроцедуры
Да и в другом примере ОбработкаВыбора. Этот код не всегда будет работать как задумано.
1. Если обгадил чужой код - самому можно плохокодить
2. Чужой код гадь, а в свой не смотри
3. Даже если знаешь что плохогодить нельзя, но ничего с этим сделать не можешь - посмотри в чужой код и скажи что там еще хуже
Доброе утро;)
Ну, как я и говорил, подтянулись "программисты", плохо владеющие механизмами платформы. Но для остальных появилась возможность учиться на чужих ошибках)))
По поводу стандартов, то они предписывают именовать переменные так, чтобы была ясна их суть. С "рез" и "доп" суть ясна. Проблема тут в интерпретации стандартов с Вашей стороны.
1. машине?
2. тому кто писал это код?
3. тому кто не писал этот код?
Если учитывать последнее, то принимает решение о допустимости кода совсем не тот кто его писал а тот для кого.
Неужели так сложно написать Результат, ДополнительныеПараметры?
А если процедура получиться не маленькая в конце уже и можно запутаться в сокращениях...
Вроде всё и просто, но из-за таких нюансов не всегда понятно. Не воспринимайте в штыки, в целом такие статьи - дело хорошее)
Вот, кстати, придумал хорошую задачку для собеседования: есть куб или квадрат с ребром/стороной Х. Какая длина стороны/ребра будет у куба/квадрата с объемом/площадью, в два раза меньше исходного. Сильно сложная? )))
>>Сильно сложная.
Что вы хотите выяснить этой задачей? Я тоже ищу, что бы спросить у кандидата в программисты, если он не умеет ничего. От слова вообще.
Вариант как в статье и подбор через временное хранилище могут иметь побочные эффекты, и если объяснить экзаменатору их - придирок не должно быть.
Очень давно сдавал специалиста, и решил задачу контроля остатков с помощью "нового" метода проведения и опции "БлокироватьДляИзменения" :) Почти влепили "-1" за решение пока не ткнул носом в литературу и новую на то время конфигурацию УТ 11.
А на экзамене не всегда есть возможность что то доказывать, не все сдают очно и не у всех есть возможность из за экзамена ехать за 5000 км.
Тут есть программная "ошибка".
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
Объект.ТабличнаяЧасть1.Добавить().ФИО = ВыбранноеЗначение;
КонецПроцедуры
Да и в другом примере ОбработкаВыбора. Этот код не всегда будет работать как задумано.
Пока действие происходит в одном месте весь фокус происходит в другом,
Статья про то что нужно все-таки не забывать про пользователей и делать им подбор, тем более это просто, а в комментах батл в стиле мисты)
1) в УТ 10.3, в КА 1.1, которые на обычных формах, до сих пор используется форма подбора, и весь механизм, описанный в данной статье, используется в данной форме подбора. Что было на обычных формах, перешло в управляемые. Ничего нового. :)
Мне кажется, что разобраться с идеей подбора легче на обычных формах, чем на управляемых - нет отвлекающих процедур перехода с клиента на сервер и наоборот (какие переменные передать на сервер и получить обратно на клиенте).
2) У самой популярной методички по изучению 1с от автора Радченко методы организации подбора освещаются в отдельной главе книги.
3) В чем смысл статьи - я не понимаю.
Всякий раз в статьях посвященных управляемым формам замечаю одну и ту же тенденцию - "сложность" - как будто все прекрасное должно быть сложным - уберите из статьи слова "многопоточность", "асинхронность" , "НаКлиенте" - и идея подбора станет чуточку понятнее. :)
Каюсь, 20 лет назад я тоже считал единственным настоящим языком программирования ассемблер.
Вообще мне удивительно, что Вы, адепт всяких сей, так позорите свой клан. Ведь и сишники и ассемблеристы (и все остальные) стремятся к понятному коду, а не к пальцегнутому.
Примечание: придирка не к конкретно сокращению переменных, а именно к ошибочному понимаю по поводу культуры программирования.
(44)
(44)
Очень сильно не соглашусь. И в СССР и в Западном мире давно уже доказано, что для человека максимальное количество анализируемых сущностей от 5 до 8. Всё что больше, это резкое повышение вероятных ошибок и как следствие, ухудшение во всём. Именно поэтому при декомпозиции любого процесса принято за один раз анализировать только 5-8 сущностей. В том числе это применимо и при анализе кода.
Проще говоря, когда всего одна строка кода, всё понятно и красиво. Но как только получаем большой модуль, состоящий из кучи противоречивых и/или непонятных кусков, то упираемся в стену "КАРАУЛ!". Кому это выгодно? Как писал выше, только тем, кто не хочет что бы его код читали или тем, кто зарабатывает таким образом.
И да, хорошая работа - оплачиваемая работа. Ну а ковыряние даже в своём коде с важным лицом, мало кому нравится.
Скажем так - если Ваши утверждения верны и имеют право жить, тогда большинство поддержит данные тезисы и, уверяю, 1С-вцы издадут целую главу рекомендаций, на тему как надо сокращать переменные. Ну а пока этого нет....
А про культуру программирования на ассемблере тоже много всего написано. Например, общепринятое обнуление регистра (против майкрософтовского).
Ну и уж если просто на Вашем уровне придираться к последнему Вашему сообщению, то вот знаками препинания вы, увы, пользоваться не умеете, а тексты читают куда большее количество людей, чем код. Удачи Вам и добра )))
Вообще-то есть. Давно. Может не в полной мере, но все же.
Сейчас все стремится к можели сервисов с мобильными клиентами. И эти клиенты - они у покупателя, а не у оператора. Сокразается цикл транзакции резервирования до: выбрал, подтвердил, резерв, сборка, доставка до бокса. По крайней мере торговля туда идет. И основной затратной частью становится маркетинг, лиды, слова... В производстве процесс тоже уже к автозаказу производителю от пула торговых компаний идет, а у него там вообще автоматы собирать скоро все будут.
В финтехе все идет к транзакционным сервисам, в которых заявки и регчтся, а потом скоринг по ним бежит как джава-робот по бигдате.
Все уходит в автоматизации к сбору событий, а они, в свою очередь, обрабатываются для получения планов и фактов в виде понятной диаграммы с трендами. Бизнесу тут все-равно, сколько времени работает процесс (ну в разумных пределах - сутки обождут, если это не биржа и торги). А пользователь из процесса будет исключен - останется только клиент. Он в 1С лазить не будет - ему из кешера данные будут ехать в вебморду с кнопкой "оформить заказ".
Если у Вас бух "работает" с 1С - это скоро пройдет. Бух должен заниматься снижением налоговой нагрузки, в остальном система сама может: товар заводить не надо, он по ШК сам должен приехать, контрагенты тоже только ИНН, банк автоматом пришел-ушел, заявка на оплату должна руководителю в мобилу приехать и оттуда он ее должен утвердить или отклонить. Оборотку крутить - в чем смысл? Накладные по ЭДО, акт о расхождении туда же, дебиторка/крадиторка оттуда же и из банка - автоматом все уже может работать. Отчет о ДЗ и КЗ автоматом должен отсортированный по просрочке и периоду прийти всем, а там процесс урегулирования сам должен стартануть и письмо с претензией - шаблон - робот должен отправить и отрапортовать об этом.
Про 7ку я вообще не говорил - забыл уже, как страшный сон. Мир праху ее аместо с СОМ'ом и прочими устаревшими фичами.
А по поводу ожидания, то бизнес не оперативные сводки ждет. Для бизнеса важны P&L, Cash Flow и управленческий баланс, БДР и БДДС. Это бизнес готов ждать и по 10-15 дней после окончания месяца, при этом чаще всего получает он их к концу следующего месяца. Также для бизнеса важна ДЗ и КЗ, но это оперативная информация и раз в день извлечь ее и послать в воцап или на почту руководителям - труда не составляет.
УФ - это для платформы временами вещь с трудом подъемная, но реально это проблемы плохого железа. Пример недавно был - клиент открывает документ закрытия месяца в комплексной, а он колесо крутит час - строит дерево операций. Послк обновления сломалось. Смотрю в скул - у них статистика не обновлялась ни разу, планов обслуживания нет. Смотрю на инфраструктуру - там линух как хост, на гем КVM, на нем венда. В винде схема высокой производительности, на хосте - нет, турбо выключен. В итоге обновил статистику, включили высокую производительность и турбо на лигухе - стало мгновенно все открываться.
Вообще, управляемые формы - это ровно то, что используется во всех современных решениях. Бэк на сервере генерит форму в html, передает ее на клиента, который отрисовывает ее в браузере. На сервер уходят только нужные данные (тут 1Снеги часто сами виноваты, используя контекстные вызовы, но иногда без них никак - и это большая архитектурная проблема 1С, т.к. в других системах объект целиком между клиентом и сервером не ездит каждый раз). И это общий и, предположу, единственный подход - просить у клиента только реакцию и отображать ему только нужные для этой реакции данные. Итог - взаиможействие клиента и сервера как бэкэнда и фронтэнда. И на клиенте тут 1С часто и не нужна, а на сервере пользователя вообще не должно колышить, что там стоит и как работает. Пользователю система должна вопрос задать, а он должен на него ответить - все. И это должно юыть не сложнее воцапа какого-нить - без лишней инфы и с гарантированной доставкой запроса пользователю и его реакции серверу.
Короче говоря, мы друг друга поняли, засим, прекращаю этот бессмысленный монолог ,вернее 2 монолога. Бухгалтер по-прежнему должен ориентироваться в бухучете, который преимущественно описывает взаимоотношение счетов и принцип двойной записи и применимость плана счетов и законодательства к конкретному бизнесу. Операторы бухгалтерии, выписывающие документы - не бухгалтеры. Я гораздо более бухгалтер, чем они, Спасибо, Всего наилучшего!
Да, в 8.3 (как и в 7.7) есть серьезный архитектурный штраф, и да - управляемые формы рендерятся на сервере в бэкэнде и транспортируются для отображения на клиент целиком со всеми данными. Но это говорит о том, что не нужно в один документ вываливать тысячи строк - используйте регистр и динамический список, например. В том же вконтакте/фейсбуке никто сразу все с сервера на клиент не берет - понемногу, последовательно, по мере прокрутки контента. И в 1С должно быть так же - по чуть-чуть...
А если возвращаться к 7.7, то бещ sql - это очень медленно при извлечении последовательности данных. И трудоемкость разработки в ней куда выше, чем в современных фреймворках джавы (и даже снегопаты не делают из нее IntelliJ). А если с SQL, то и PHP фору даст с ларавелом с учетом необновляющейся части регламентированных отчетов, которые только и являются преимуществос 1С перед другими системами. Я вчера тут посмотрел Odoo - заставляет задуматься...
Хорошо-бы, но для 1сника, который учился по методичкам, это будет сложно. Я пока не знаю способа сделать это штатными средствами. Тупить на документе с 30 000 строк, при отображении - это пожалуйста) Причем как в 7, так и в 8. Нарисовать это посредством Transact SQL я могу, отобразить в 1с тоже, но это не будет объектная модель 1С, увы.
Все в современном мире стремится к уменьшению затрат. Железо стоит не дешево, но еще дороже стоит время разработчика. И все пытаются сократить время разработки, но пока получается плохо - только хакатоны позволяют получить прототип за вменяемое время, а в аджайле прототип - это уже хорошо. И сделать обмен на 1С сейчас не легче, чем на Java реализовать ETL для любой шины данных (на 1С даже сложнее ввиду ограниченности самих 1С-негов и устаревших технологий для работы с XML и JSON, не говоря уже о протобуфе, который в 1С придется вручную записывать в новые объекты работы с памятью, в то время, как в большинстве других систем достаточно заинклюдить либу и получить весь спектр методов работы с этим делом).
Вот, например, склад. Там персонал делает три вещи: раскладывает пришедшее, складывает уходящее и считает периодически оставшееся. Зачем ему там 1С? Ему там ТСД нужен на андройде с мобильным приложением (пусть и на 1С - пофиг на чем), где он эти три операции делать сможет. Вот у него там задание на размещение, задание на сборку и задание на инвентаризацию, в них стелаж и полка, для первых двух наименование и количество. Подошел, щелкнул ШК, положил/взял/посчитал и дальше пошел класть/брать/считать. Все. И как все взял/поклал/посчитал - вылезла бумага их принтера - упаковочная этикетка, которую радо на коробку наклеить. И инфа о сборке должна как в макдачнице быть - на могиторе со мборочным номером и, чтобы мовсем по приколу было, с результатами командного зачета - кто больше собрал/разложил/посчитал и кому медаль дадут...
На производстве ровно как в макдачнице должно быть - клиент набрал бургеров, они попали в заказ, заказ в части дифицита попал в производство, персонал пожареные котлеты положил в нужный бургер (а ненужные бургеры производство не шлепает - ориентируется на пустые ячейки - канбан у них там). И все это на мониторчиках, на которых типа нажарить котлет, нарубить травы, нарезать булок, напихать первое и второе в третье, положить в коробочку и засунуть в ячеечку. И что там на сервере - пофиг, а вот на клиенте - телевизор с тачскрином, на котором это все отрисовывается. Выполнил задачу - нажал кнопку. Если где-то все не так - значит это не эффективно, значит более эффективный бизнес, делающий то же самое, вытеснит неэффективный в результате конкуренции, как это делают уже интернет-магазины в некоторых сегментах.
ОткрытьФорму(
"Справочник.Справочник1.ФормаВыбора",
Новый Структура("ЗакрыватьПриВыборе, РежимВыбора",
Ложь, Истина),
ЭтаФорма
в последней строчке вместо "Этаформа" написать что-то из элементов формы, табличную часть или реквизит..
Например:
Элементы.ДокументыПоступления
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 675208
Создание 19.09.17 00:55
Обновление 19.09.17 00:55
Просмотры 98486
Загрузки 0
Рейтинг
163
Комментарии 71
Код открыт Да
Рубрики Работа с интерфейсом
Кому Разработчик
Тип файла Нет файла
Платформа 1С:Предприятие 8
Конфигурация 1C:Бухгалтерия
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)