Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 01:43

Научиться с нуля программировать на 1С. Управляемые формы или обычные.

Автор asmut, 08 июн 2011, 15:02

0 Пользователей и 1 гость просматривают эту тему.

asmut

День добрый всем тем кто хочет и будет помогать мне разобраться с 1С.
Работаю под 1С 8.2.13.205, Windows XP, конфигурация пустая, по умолчанию на управляемых формах.
Платформа также по умолчанию настроена как: Управляемое приложение.

Теперь вопрос:
1. Конфигурация лучше на управляемых или на обычных формах? Давайте обсудим.
(Надеюсь не звучит как "Какой комп круче?")
2. Сразу ли создавать Роли и Пользователей, или делать это в конце создания конфигурации.


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

Внимание: Я с 1С только знакомится начал, поэтому прошу ребят которые знают и понимают 1С стараться учитывать что я про нее знаю очень мало. Старайтесь не уходить далеко от темы ибо запутаться очень легко.
Хороший сисадмин, но хочется большего. Могу оказать безвозмездную помощь в ремонте компьютера.
Заранее благодарен адекватам и гуру 1С.
С уважением asmut.

cska-fanat-kz

1. Зависит от каждого конкретного случая. Есть конечно момент, что в режимах тонкого клиента и вебклиента формы должны быть только управляемые...
2. Обычно это делают в последнюю очередь. А вот Подсистемы формируют в начале.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

chuevsf

1. звучит! У обычных и управляемых форм своё предназначение. Есть свои плюсы и минусы. Значит нельзя сказать, что какое-то из них круче.
2. Пользователи и роли создаются по мере надобности. Лучше бы конечно было сначала иметь возможность написать конфу, а потом уже добавлять пользователей и разруливать роли.

ShoGUN

На 1. уже ответили, а по поводу 2 - проще создавать роли в конце, т.к. при создании новых объектов после создания ролей придётся возвращаться к ролям и разруливать права на созданные объекты. Так что проще начинать с ролью "ПолныеПрава" с галкой "Устанавливать права для новых объектов", а уже в самом конце, когда создадите все необходимые объекты - описать более узко заточенные роли.

asmut

Прекрасно.
Вопрос номер 2 закрыт. Сошлись на том что проще создавать роли в конце создания конфигурации.

По первому вопросу:
Я так понимаю что:
1.  ОБычное приложение хорошо в Толстом клиенте, то есть можно смело загонять на обычное приложение толстосумов с начинкой в системнике (2 ядра, 2 гига, и видеокартой наподобие GeForce 9800 или GeForce 210).
2. Управляемые формы хороши в Тонком и Веб клиентах, в Веб клиенте насколько я знаю вообще без вариантов, и там использоваться должны только Управляемые формы.

Жду мнений.

cska-fanat-kz

1. Обычное приложение сделано больше для совместимости с предыдущими версиями 8ки.
2. В тонком клиенте - тоже без вариантов )
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

asmut

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

Начнем создание конфигурации.
1. Сначала создаем Подсистему(назовем ее ОтделКадров). Проблем не возникает.
2. Создаем справочник Сотрудники(Иерархия до 2 уровня, Автонумерация, По названию). Для автоматизации ввода и предотвращения ошибок ввода Должностей и Статуса работника, Создаем справочник Должности и Перечисление Статус работника
Можно было и должности конечно в перечислениях создать, но только вот проблема в том что они меняются чаще чем Статус (допустим статус Уволен уже лет 100 точно не менялся :-)

При создании справочника Сотрудники, вопросов не появилось до момента создания Печатной формы.
Создаем с помощью Конструктора печати, и видим Макет, Модуль команды и Модуль Менеджера.
Правим Макет как нам необходимо, изменяем код (убираем Цикл вставки разделителя, пишем код вывода информации). 
Получается следующее:
Процедура Печать(ТабДок, Ссылка) Экспорт
   
   Макет = Справочники.Сотрудник.ПолучитьМакет("МСотрудники");
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   Сотрудник.Должность,
   |   Сотрудник.Код,
   |   Сотрудник.Наименование,
   |   Сотрудник.Статус
   |ИЗ
   |   Справочник.Сотрудник КАК Сотрудник
   |ГДЕ
   |   Сотрудник.Ссылка В (&Ссылка)";
   Запрос.Параметры.Вставить("Ссылка", Ссылка);
   Выборка = Запрос.Выполнить().Выбрать();

   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   ТабДок.Вывести (ОбластьЗаголовок);
   
   Шапка = Макет.ПолучитьОбласть("Шапка");
   ТабДок.Вывести (Шапка);
   
   Выборка = Справочники.Сотрудник.Выбрать();
   
   Пока Выборка.Следующий() = Истина  Цикл
   Объект = Выборка.ПолучитьОбъект ();
   ВД = Макет.ПолучитьОбласть("Вывод");
   ВД.Параметры.Код = Объект.Код;
   ВД.Параметры.Наименование = Объект.Наименование;
   ВД.Параметры.Должность = Объект.Должность;
   ВД.Параметры.Статус = Объект.Статус;
   ТабДок.Вывести (ВД);
   КонецЦикла;

И ... при нажатии выходит форма, данные выводятся, но очень и очень коряво. Группы Нумеруются и получается вот такое примерно

№  ФИО                       Должность    Статус
1   Администрация
1   Петров                   Инспектор     Работает 
2   Гаврилов                Зам              В отпуске
3   Иванов                   Инспектор     В командировке
2   Первое отделение
1   Иванов                   Испектор      Работает
2   Гаврилов                Заместитель  В отпуске
3   Стаханов                Гончар          В командировке

Как видите у групп выводится нумерация, я додумался только до одного варианта, убрал Автонумерацию и Уникальность цифр, поставил Основное представление - В виде кода и все бы ровно, но при заполнении Формы элемента работника вместо Должности выводятся цифры под которыми забиты должности, это не так страшно собственно, страшно то что нет Автонумерации, и я гарантию даю что пользователь ошибется при ручной нумерации.

Вопрос: Как еще можно решить проблему с нумераций

cska-fanat-kz

Вопросы на засыпку (если при ответе на них возникают трудности - советую сперва прочесть базовую литературу из разряда "Для начинающих"):
1. Процедуру печати не дочистили - зачем Вам запрос, если вы им не пользуетесь?
2. Зачем Вам вот это: "Объект = Выборка.ПолучитьОбъект ();"?

Номер по порядку не выводите с помощью кода - реквизит "Код" применяют не для этого.
Формируйте его сами.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

asmut

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

Сижу обмазговываю, юзаю Гугл, жду ваших мыслей.

cska-fanat-kz

Вместо

Выборка = Справочники.Сотрудник.Выбрать();

используйте

Выборка = Справочники.Сотрудник.ВыбратьИерархически();
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск