Безудержный танец с бубном или «Как открыть форму незаписанного документа в управляемом приложении»

Публикация № 189390 03.06.13

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

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

Как легко и по шагам решить поставленную задачу - вы узнаете в данной публикации.

Во первых: Почему так сложно?

Причина в том, что в обычном приложении и объект и форма живут вместе на протяжении всей жизни формы.

На управляемых формах все несколько иначе. Объект и форма живут совместно совсем непродолжительное время. Например в обработчике "При чтении на сервере". Но данный обработчик вызывается только при открытии уже записанного объекта (далее - документа).

Более подробно «Разработка управляемого интерфейса» В.А.Ажеронок, А.В. Островерх, М.Г.Радченко, Е.Ю.Хрусталева, гл. 3.8 стр. 404

 

Может возникнуть желание воспользоваться методами Глобального контекста

ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>)
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>)

Но, все же, это не наш случай. Вторым параметром необходимо передавать ссылку, а ее то у нас и нет (объект еще не записан в базу данных).

Поэтому, было найдено следующее решение.

 

План наступления: 

1. НА КЛИЕНТЕ:

1.1 Создаем форму нового документа (метод гл. контекста "ПолучитьФорму")

1. 2 Получаем объект новой формы - это пока лишь основной объект формы (представляет собой универсальную коллекцию).

2. НА СЕРВЕРЕ:

2.1 Вспомогательные действия (не обязательные). Получаем данные для заполнения нового документа.

2.2 Получим документ - объект. Это именно объект информационной базы (Тип - Документ объект)

2.3 Вызовем обработчик заполнения нового документа (ОбработкаЗаполнения)

2.4 Производим обратное преобразование: документ объект - в основной объект формы (универсальную коллекцию)

3. НА КЛИЕНТЕ:

3.1 Теперь в контексте клиента имеем две коллекции основного реквизита:

одна - созданная при создании формы (пока пустая)

вторая - та, которую заполняли на сервере (ее и требуется отобразить)

Поэтому, теперь необходимо подменить основной реквизит созданной на шаге 1.1 формы на заполненный нами (на шаге 2.3). Простое присвоение значения не пройдет. Необхоидимо перезаполнить коллекцию. Удобнее это выполнить с помощью специального метода глобального контекста КопироватьДанныеФормы(<Источник>, <Приемник>)

3.1 Открываем подготовленную форму.


Собственно решение


&НаКлиенте
Процедура ОткрытьФормуНовогоДокумента(Команда)

   
// 1.1
    // Получаем форму нового подчиненного документа
   
ФормаПодчиненного = ПолучитьФорму("Документ.ПеревыставлениеТоваровУслуг.ФормаОбъекта");

   
// 1.2
    // Получим объект формы - это Новый - создаваемый объект
   
ОбъектФормы = ФормаПодчиненного.Объект;

   
// 2. Передадим управление на сервер.
   
ЗаполнитьПодчиненныйДокументПеревыставленияНаСервере(ОбъектФормы, Объект.Ссылка);

   
// 3.1
    // В ранее созданной форме нового документа переопределим объект - документ (подменим его на заполненный документ)
   
КопироватьДанныеФормы(ОбъектФормы, ФормаПодчиненного.Объект);

   
// 3.2
   
ФормаПодчиненного.Модифицированность = Истина; // Чтобы выдавалось сообщение при попытке закрыть документ без сохранения
   
ФормаПодчиненного.Открыть();

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

&НаСервереБезКонтекста
Процедура ЗаполнитьПодчиненныйДокументПеревыставленияНаСервере(ОбъектФормы, ДокументОснование)

   
// 2.1
    // Подготовим данные для заполнения нового документа
   
ДанныеДляЗаполнения = Документы.ПоступлениеПеревыставляемыхТоваровУслуг.ПолучитьСтруктуруДанныхЗаполнения();

   
// 2.2
    // Получим документ-объект (для дальнейшего заполнения)
   
ДокументОбъект = ДанныеФормыВЗначение(ОбъектФормы, Тип("ДокументОбъект.ПеревыставлениеТоваровУслуг"));

   
// 2.3
    // Вызовем процедуру обработки заполнения
   
ДокументОбъект.Заполнить(ПараметрыОтбораПеревыставления);

   
// 2.4
    // Преобразуем прикладной объект - в объект формы (коллекцию)
   
ЗначениеВДанныеФормы(ДокументОбъект, ОбъектФормы);

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


Резюме:

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4547 03.06.13 09:47 Сейчас в теме
(0) Делаю первый вброс на вентилятор.

Проснулся, всё уже украдено до вас.
Примеры использования:
http://infostart.ru/public/141777/
http://infostart.ru/public/83963/
http://infostart.ru/public/83248/
lana_veta; KapasMordorov; +2 Ответить
2. director04 3630 03.06.13 10:12 Сейчас в теме
(1) Поручик, Спасибо за инфу, когда нужно было - не нашел ))))
Хотя, по вашему описанию ни как невозможно понять, что вы описываете метод открытия НЕ записанного элемента справочника или документа.
Да и кодов процедур я там не нашел. ))))
kyrasol; ShootNICK; 127.0.0.0; +3 Ответить
3. Поручик 4547 03.06.13 10:15 Сейчас в теме
(2) И ещё вброс: в параметры формы можно передать структуру ЗначенияЗаполнения.
4. Поручик 4547 03.06.13 10:18 Сейчас в теме
(2) Как же ты их искал, если ни один файл не скачан? Там как раз используется связка ПолучитьФорму - КопироватьДанныеФормы
6. director04 3630 03.06.13 11:05 Сейчас в теме
(4) Поручик, только на ИС сотни тысяч отчетов и разработок. Если каждую скачивать и анализировать код на предмет "а нет ли там открытия незаписанного документа"... сколько на это уйдет времени? )))
Добавь соответствующее описание в свои работы и тема оживет.

Видно потому и не нашел. А когда нарисовал сам, то появилось желание поделиться с сообществом. Может кому окажется полезным
Danil.Potapov; Касаткин; hame1e00n; juliia1992; Brawler; kiruha; SeiOkami; makarovy; kyrasol; BolshoySmal; CratosX; +11 Ответить
10. Поручик 4547 03.06.13 11:19 Сейчас в теме
(6) Вы же написали: тема поупрожняться в собственном величии. Я и поупрАжнялся.
А ещё поищите и почитайте орфографический словарь.
oleganatolievich; Новиков; director04; +3 6 Ответить
11. w-divin 03.06.13 12:20 Сейчас в теме
(10) Поручик,
а мине низнаком арфаграфичиский славарь.
А человеку за статью спасибо.
поиск по инфостарту, к величайшему вашему сожалению, ни одну из представленных вами ссылок не показывает...
http://infostart.ru/catalog/?q=%EE%F2%EA%F0%FB%F2%FC+%F4%EE%F0%EC%F3+%ED%E5%E7%E0%EF%E8%F­1%E0%ED%ED%EE%E3%EE+%E4%EE%EA%F3%EC%E5%ED%F2%E0&sa=%CD%E0%E9­%F2%E8

посему пост (1) получается вообще не в тему...
Key-Zed; juliia1992; eeeio; director04; +4 Ответить
12. director04 3630 03.06.13 13:12 Сейчас в теме
(10) Поручик,
Вы же написали: тема поупрожняться в собственном величии. Я и поупрАжнялся.
А ещё поищите и почитайте орфографический словарь.


Спасибо, поправлю. )))))
Флудите сколько угодно - когда с позитивом - ни грамма не жаль )))

ps: А с "великим и могучим" у меня всю жизнь нелады.... )))
hame1e00n; +1 Ответить
5. akomar 444 03.06.13 11:03 Сейчас в теме
Использование конструкции ФормаПодчиненного.Открыть(); в управляемом приложении признак плохого тона. Используйте функцию ОткрытьФорму, или ОткрытьФормуМодально.
7. director04 3630 03.06.13 11:08 Сейчас в теме
(5) akomar,
Использование конструкции ФормаПодчиненного.Открыть(); в управляемом приложении признак плохого тона. Используйте функцию ОткрытьФорму, или ОткрытьФормуМодально.


Да, конечно, именно так и сделал бы. Но, дело в том, что форму сперва необходимо подготовить. А затем уже открыть.
Поэтому, сперва делается "лишний" серверный вызов "ПолучитьФорму".... а после заполнения - уже Форма.Открыть().

Если "тон плохой" - сори за грубость )))
8. akomar 444 03.06.13 11:15 Сейчас в теме
В процедуру ОткрытьФорму можно передать уже подготовленную форму, так ведь и написано в синтаксис-помощнику :)
9. akomar 444 03.06.13 11:16 Сейчас в теме
Синтаксис:

ОткрытьФорму(<Форма>, <Окно>)
Параметры:

<Форма> (обязательный)

Тип: Форма; УправляемаяФорма.
Форма или управляемая форма. В режиме тонкого и веб-клиентов только управляемая форма.
<Окно> (необязательный)

Тип: ОкноКлиентскогоПриложения; ВариантОткрытияОкна.
Окно приложения, в котором будет открыта форма.
Применимо только для управляемой формы. Окном может быть только основное окно приложения или вспомогательное окно формы.
В случае использования ВариантОткрытияОкна, окно формы будет создано согласно выбранному варианту.
13. Новиков 292 03.06.13 19:50 Сейчас в теме
Велосипед страшный. Посмотрите ж тестовую БСП наконец!
14. director04 3630 03.06.13 22:20 Сейчас в теме
(13) Новиков,
Велосипед страшный. Посмотрите ж тестовую БСП наконец!
.

А вы выложите здесь кусок кода из БСП. Кому то да пригодится...
Главное не забудьте структурировать его потолковее и сопроводить пояснениями. Я первый скажу вам спасибо.
15. awk 733 03.06.13 23:48 Сейчас в теме
(14) А вы почитайте перед плясками методички, тогда и бубен не потребуется.

Вариант 1:

ОткрытьФорму(<ИмяФормы>, Новый Структура("... , ЗначениеЗаполнения", ... , Новый Структура(...)))

Вариант 2:

Форма = ПолучитьФорму(...);
Форма.ЗаполнитьОбъектПо(...);
Форма.Открыть();
CratosX; bulpi; +2 Ответить
16. director04 3630 04.06.13 09:17 Сейчас в теме
(15) awk,
А вы почитайте перед плясками методички, тогда и бубен не потребуется.

Вариант 1:

ОткрытьФорму(<ИмяФормы>, Новый Структура("... , ЗначениеЗаполнения", ... , Новый Структура(...)))

Вариант 2:

Форма = ПолучитьФорму(...);
Форма.ЗаполнитьОбъектПо(...);
Форма.Открыть();


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

Хотя, по своему подходу Вариант-2 практически полностью повторяет мой подход к решению задачи. Разве только начинающему будет трудно разобраться как и что сделать. Допустим "для чего предназначен метод "КопироватьДанныеФормы"".
18. awk 733 04.06.13 10:06 Сейчас в теме
(16)

В варианте 1:

Если передается параметр форме "ЗначениеЗаполнения" или "ЗначенияЗаполнения" (точно не помню я или е). То обработчик заполнения будет вызван автоматически.

В варианте 2:

Ну нет, так создай - "Процедура ЗаполнитьОбъектПо(...) Экспорт". Данный вариант (как написано в методичке) используется при сложных алгоритмах заполнения реквизитов формы.
17. Новиков 292 04.06.13 09:56 Сейчас в теме
(14) прелесть БСП в том, что подобные "танцы с бубном" как у вас (без осуждения :)) от нас скрыты многокилометровыми обвязами. От вас же нужно знание, какой тип команды указать при решении подобной функциональности. Поэтому, мой совет взглянуть в типовую, в силе. Кусок кода с радостью бы выдрал, но не вижу в этом никакого смысла, хотя бы потому что оный голый, вероятно всего будет требовать какого-то вдумчивого осмысления :)
19. vandalsvq 1209 04.06.13 11:42 Сейчас в теме
А что фраза "кури ЖКК" вышла из моды? Автору я бы посоветовал внимательнее читать мануалы. Тогда и танцевать с бубном не придется.
20. director04 3630 04.06.13 12:45 Сейчас в теме
Да ладно, ребята, главное ногами не пинайте.... ))))
21. kser87 2181 04.06.13 12:58 Сейчас в теме
Радченко, Хрусталева. Разработка управляемого интерфейса. Страница 368. Отрытие формы нового объекта

ОткрытьФорму("Справочник.Товары.Форма");

Можно передать данные заполнения например:

Параметры = Новый Структура;
Параметры.Вставить("ЭтоГруппа", Истина);

ОткрытьФорму("Справочник.Товары.Форма", Параметры);

Если обработка заполнения сложная, то нужно сделать так:

Параметры = Новый Структура;
... заполняем параметры

ОткрытьФорму("Справочник.Товары.Форма", Параметры);

Далее в модуле объекта, в процедуре ОбработкаЗаполнения пишем

СтандартнаяОбработка = Ложь;

В той же процедуре есть параметр "ДанныеЗаполнения", в котором доступно все, что было указано в структуре "Параметры" метода "ОткрытьФорму".

И только так. Метод "ПолучитьФорму" в этом случае использовать нельзя. Не поленитесь сделать замер производительности и сравнить затраченное время на "ПолучитьФорму" и "ОтрытьФорму".
kiruha; mike_grig; Razrab1c; sergo5; Hexed; insurgut; Elvisnya; Den_D; webester; CratosX; bulpi; slavap; director04; +13 Ответить
22. director04 3630 04.06.13 14:14 Сейчас в теме
(21) kser87, Спасибо за конструктивное предложение, но:

Если обработка заполнения сложная, то нужно сделать так:

Параметры = Новый Структура;
... заполняем параметры

ОткрытьФорму("Справочник.Товары.Форма", Параметры);

Далее в модуле объекта, в процедуре ОбработкаЗаполнения пишем

СтандартнаяОбработка = Ложь;

В той же процедуре есть параметр "ДанныеЗаполнения", в котором доступно все, что было указано в структуре "Параметры" метода "ОткрытьФорму".


Так и пытался сделать,но: в обработчике "Обработка заполнения" данные параметры не доступны через "ДанныеЗаполнения"
Данная структура будет доступна только лишь в модуле формы в обработчике "ПриСозданииНаСервере". Можно конечно использовать это как вариант. Спасибо за позитив и за подсказку.
23. kser87 2181 04.06.13 14:39 Сейчас в теме
(22) при открытии именно нового объекта должны быть доступны. Смотрите внимательнее.

В принципе в обработчике "ПриСозданииНаСервере" желтая книжка допускает их использование для описанных целей. Но мне кажется, что лучше впихнуть все-таки в обработку заполнения. Эта же обработка используется при вызове метода "Заполнить" объекта и при создании на основании. Т.е. это повторное использование кода: меньше работы, ошибок и все такое)
24. director04 3630 04.06.13 15:03 Сейчас в теме
(23) kser87,
В принципе в обработчике "ПриСозданииНаСервере" желтая книжка допускает их использование для описанных целей. Но мне кажется, что лучше впихнуть все-таки в обработку заполнения.


Да, именно потому и пошел тем путем, который изложил в своей публикации (чтоб заполнение проводилось в подписке "ОбработкаЗаполнения"). Тупо передать через параметры не удалось.
Так что напрасно вы "первый бросили в меня камень" ))))
25. kser87 2181 04.06.13 15:07 Сейчас в теме
(24) при чем тут подписка?)) не понимаю, зачем делать заполнение в подписке?

я имею в виду процедуру модуля объекта
41. slazzy 41 05.11.14 16:28 Сейчас в теме
(21) kser87, Товарищи, я понимаю, что я некропостер :) но может быть это будет кому-то интересно. На самом деле вы всё верно описали за единственным исключением, данные нужно передать в вот таком виде

ЗначенияЗаполнения = Новый Структура;
/////// заполнение структуры
............................
	
ПараметрыОткрытия = Новый Структура("ЗначенияЗаполнения", ЗначенияЗаполнения);
ОткрытьФорму(ИмяФормы, ПараметрыОткрытия)


В таком случае данные из этой структуры попадают в ДанныеЗаполнения события ОбработкаЗаполнения в виде структуры и соответственно их можно обрабатывать как угодно. Плюс если не отключать стандартную обработку, то данные из этой структуры автоматически заполнят реквизиты у которых установлено Заполнять из данных заполнения.
SShipilov; hame1e00n; COMPER; Gasilin; 013; Volchock; cj512; +7 Ответить
42. director04 3630 07.11.14 17:22 Сейчас в теме
(41) slazzy, да, спасибо. По теме....
52. hame1e00n 523 30.06.19 21:51 Сейчас в теме
(41)
ЗначенияЗаполнения = Новый Структура;
/////// заполнение структуры
............................

ПараметрыОткрытия = Новый Структура("ЗначенияЗаполнения", ЗначенияЗаполнения);
ОткрытьФорму(ИмяФормы, ПараметрыОткрытия)


Я вот только не смог таким образом заполнить ТЧ нового документа.
Для ТЧ не работает способ с использованием ЗначенияЗаполнения?

У меня в исходном и конечном документе две табличных части "Товары":

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


Так не работает... Вернее шапка заполняется, а табличная часть нет...
26. director04 3630 04.06.13 15:42 Сейчас в теме
Под словом "Подписка" я имел ввиду Событие "ОбработкаЗаполнения" (стр. 429 желтой книжки) :)
То есть Подписка на событие "ОбработкаЗаполнения"...
Если при программном открытии формы ОткрытьФорму("...", ПроизвольнаяСтруктура"); в нее передать произвольную структуру, то в Событии "ОбработкаЗаполнения", данные заполнения приобретают значение "Неопределено".

А вот в подписке "ПриСозданииНаСервере", данная структура попадает в параметры корректно. Но, все же хотелось бы заполнять ТЧ документов в процедуре "ОбработкаЗаполнения".
27. Rustig 1292 05.06.13 06:22 Сейчас в теме
(0) плюс за открытие: "простые технологии разработки обычного приложения стали сложными в управляемом приложении" :)
...сколько вас "всесторонне" знающих управляемое приложение? откликнетесь! :)
...теперь без дебатов не решить простые задачки :( ...
nixel; director04; +2 1 Ответить
28. kser87 2181 05.06.13 10:14 Сейчас в теме
(27) Rustig, достаточно просто почитать справку и никаких дебатов не надо
29. пользователь 05.06.13 11:29
Сообщение было скрыто модератором.
...
30. director04 3630 05.06.13 11:33 Сейчас в теме
(29) evg300183,
Спасибо за обработку, очень полезная вещь, контора довольна!


))) Немного не в ту ветку, но все равно, приятно.
31. Ibrogim 1215 05.06.13 11:35 Сейчас в теме
(30) Это спамер. Ему всё очень полезно.
32. KapasMordorov 428 05.06.13 11:56 Сейчас в теме
Спамер к спамеру зашел и запОстил кроха: "копипаст - хорошо, синтакспомощь - плохо".
33. kote 526 05.06.13 20:31 Сейчас в теме
Вы написали, что невозможно передать ссылку на объект, если объект незаписан.
Но есть еще возможносность получения пустой ссылки любого объекта - почему её не использовали?
34. director04 3630 05.06.13 20:47 Сейчас в теме
(33) kote,
Но есть еще возможносность получения пустой ссылки любого объекта - почему её не использовали?


Пробовал )))) При этом откроется пустой (незаполненный) документ.
35. webester 35 07.06.13 05:58 Сейчас в теме
Так и хочется стукнуть человека автора головой об... Гугл что бы не плодил велосипедов.
36. director04 3630 07.06.13 07:43 Сейчас в теме
(35),
Так и хочется стукнуть человека автора головой об... Гугл что бы не плодил велосипедов.

Не заносись, Ромушка. Лучше посмотри со стороны на свои бездарные публикации с рейтингом в 0 и 2 балла....
37. webester 35 07.06.13 15:34 Сейчас в теме
Не заносись, Ромушка.

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

В чем бездарность, можно подробностей?
с рейтингом в 0 и 2 балла....

Есть такое дело, согласен. Не сказать, что бы это меня сильно беспокоило. Нужен рейтинг, набросал статейку рейтинг 117 про то как импортировать 2 ключа в реестр. Но нравится сообществу такие статьи. О чем то простом, я не люблю такое писать, совести не хватает а на сложное... мозгов. Но сообществу интересны розовые сопли Про списки значений рейтинг(173) или про переключатели рейтинг 76 Не особо интересно про это писать. Когда хочется, что то написать, иногда что то пишу себе в бложек. Но что то последнее время и без него хватает писанины.
38. director04 3630 07.06.13 15:57 Сейчас в теме
(37) webester,
1. Почему "Ромушка" - хотя бы потому, что вести себя (хотя бы на форуме) стоит корректно. Тем более с человеком, у которого сын твой ровесник.
2. Почему "бездарные" - так это не я оценил. А сообщество. Раз рейтинг в пределах 0-2. Видно ни кому они не нужны....
3. Есть у вас одна публикация, которая оценена по достоинству интернет-сообществом. И, ни кто вас не обещал ударить головой об паркет, за то, что вы изобрели не только велосипед, но еще и велосипед с бородой.
Сами знаете, что стартеров 1С на Инфостарте огромное множество.
Людям понравилось, что вы в данной публикации имели свой взгляд на эту тему - и в этом вы молодец. Интернет от этого не опухнет и Гугля не перетрудится.

Скажите, что же вас так раздосадовало, что я решил изложить свой взгляд на эту проблему? Или кому то от этого станет плохо? Поверьте, найдется еще много людей, которым поможет моя статья. (их уже, как минимум 35 человек).
Не уподобляйтесь тем, кому главное повысить свою самооценку, раскритиковав работу другого человека.
Пишите свои вещи. Берите хорошее у других. И учитесь на ошибках других.
А "бить головой об...." - для этого ума много не надо ))))
39. webester 35 07.06.13 18:14 Сейчас в теме
1. Почему "Ромушка" - хотя бы потому, что вести себя (хотя бы на форуме) стоит корректно. Тем более с человеком, у которого сын твой ровесник.

Я не спрашивал, почему Ромушка, я вполне понимаю почему :) батхерт вас мучает уважемый вот и кривляетесь. И да абсолютно наплевать, с кем у вас сын ровесник. Мне вообще наплевать есть ли он у вас. Потому, что это не меняет ничего. Это интернет детка :)
Почему "бездарные" - так это не я оценил

Так я и спрашиваю в чем причина, просто плюнуть надо в ответ? Или есть что сказать по существу?
А сообщество. Раз рейтинг в пределах 0-2. Видно ни кому они не нужны....

да, так то 42 человека скачало :) кому то понадобилось это конечно крохи, но сказать, что совсем никому не нужны.(честно сказать, я думал будет ну пару скачиваний).
но еще и велосипед с бородой

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

Не было никакого взгляда, это обсосаная с ног до головы диллема. Надо просто спросить. Все. Мне непонятно от чего вы так возбудились? От того, что ровесник вашего сына отправил вас в гугл в немного грубой форме? Приношу свои глубочайшие извинения вашей нежной и ранимой натуре(действительно, без сарказма, не ожидал обиды). Надо иметь ввиду, что это же инте... ну вы поняли, не буду повторяться.
40. director04 3630 07.06.13 21:44 Сейчас в теме
(39) webester, :) Трудный ребенок ))
43. aet 54 01.04.15 13:02 Сейчас в теме
Бубен еще пригодится, как решить аналогичную задачу для группы элемента?
44. Davlad_A 65 16.11.15 02:03 Сейчас в теме
director04, спасибо за ясный алгоритм действий и главное, за желание облегчить жизнь другим и поделиться опытом ! !
45. sokir 2 29.01.16 15:25 Сейчас в теме
Автор молодец. Да через ОтрытьФорму оно то правильнее, но как передать через параметры шапку и ТЧ? Клиент с таблицейзначений не дружит.
Получается выхода другого нет. Если я ошибаюсь, то отпишите как передать ТЧ.
Теоретически можно через ПоместитьВоВременноеХранилище, но думаю это будет дольше работать. А меня интересует более оптимальный вариант.
Еще можно массив со структурой, но много лишнего кода надо писать. Наверно он будет быстрее, но не факт - там куча нетипизированных структур в массиве прийдется передать.
Третьего вроде не дано платформой в упр формах.
Пока вариант предложенный автором наверно более оптимален.
И в кратце может ктото объяснить чем плохо ПолучитьФорму? Почему она дольше открывается?
47. Гость 30.05.16 01:29
ОбъектФормы = ФормаПодчиненного.Объект;
Это не работает. Пишет, что поле "Объект" не найдено.
sergoqwe; +1 Ответить
48. sergoqwe 06.09.16 10:58 Сейчас в теме
(47) Гость,
&НаКлиенте
Процедура Команда1(Команда)

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

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

&НаСервере
Функция ВидОперацииДокумента ()
	Возврат Перечисления.ВидыОперацийРеализацияТоваров.Товары;
КонецФункции
Показать

Поправьте если что не правильно, только разбираюсь с этим выносом мозга 8.3
49. logarifm 1101 03.03.17 13:42 Сейчас в теме
{ВнешняяОбработка.ЗагрузкаПоступленийИзЭксель.Форма.Форма.Форма(173)}: Поле объекта не обнаружено (Объект)
ОбъектФормы = ФормаПоступления.Объект;
Такси тонкий клиент код не рабочий!

ФормаПоступления = ПолучитьФорму("Документ.ПоступлениеТоваровУслуг.ФормаОбъекта");
ОбъектФормы = ФормаПоступления.Объект;

Ребята как оказалось в Бух 3.0 ФормаОбъекта не имеет значения Объект
COMPER; Alex_mar; +2 Ответить
50. AndySuvernev 6 18.04.17 23:09 Сейчас в теме
//Оптимизация до 3-х процедур / функций


&НаСервере
Функция ПолучитьАдресМассиваНовыхДокументовНаСервере()
    // Создадим массив из нескольких документов 
    // с разным наполнением (для примера - разные организации)
    // для того, чтобы при открытии форм было сразу понятно, что 
    // это два разных документа
	
	ПарамертыВозрата = Новый Структура;
	
	
    МассивНовыхДокументов = Новый Массив;
	
	Запрос = Новый Запрос(
	"ВЫБРАТЬ ПЕРВЫЕ 3
	|	Организации.Ссылка
	|ИЗ
	|	Справочник.Организации КАК Организации"
	);
	
	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл 
		НовДок = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
		НовДок.Организация = Выборка.Ссылка;
		МассивНовыхДокументов.Добавить(НовДок);
	КонецЦикла;
	
    
    // Поместим массив с документами во временное хранилище
    // для того, чтобы иметь возможность обращаться к нему
    // со стороны клиента (передавая на сервер адрес хранилища)
    
    //МассивНовыхДокументов = ПолучитьМассивНовыхДокументовНаСервере();
    
    // 2. Помещаем этот массив во временное хранилище. На клиент возвращаем только адрес этого хранилища.
    АдресМассиваНовыхДокументов = ПоместитьВоВременноеХранилище(МассивНовыхДокументов, Новый УникальныйИдентификатор);
    
	ПарамертыВозрата.Вставить("АдресМассиваНовыхДокументов", АдресМассиваНовыхДокументов);
	ПарамертыВозрата.Вставить("КоличествоНовыхДокументов", МассивНовыхДокументов.Количество());
	
    Возврат ПарамертыВозрата;
КонецФункции

&НаСервере
Функция ЗаполнитьДанныеФормыТонкийКлиентНаСервере(ДанныеФормыДокумента, НомерОбъекта, АдресМассиваНовыхДокументов)
    
    // Здесь происходит непосредственное заполнение
	// Объекта из данных формы документа
	// тем документом, который был создан
	// в процедуре ПолучитьМассивДокументовНаСервере() 
	МассивНовыхДокументов = ПолучитьИзВременногоХранилища(АдресМассиваНовыхДокументов);
	НовыйДокументОбъект = МассивНовыхДокументов[НомерОбъекта];
	
	// Здесь происходит непосредственное заполнение
	// Объекта из данных формы документа
	// тем документом, который был создан
	// в процедуре ПолучитьМассивДокументовНаСервере() 
	мОбъект = ДанныеФормыВЗначение(ДанныеФормыДокумента, ТипЗнч(НовыйДокументОбъект));
	ЗаполнитьЗначенияСвойств(мОбъект, НовыйДокументОбъект);
	ЗначениеВДанныеФормы(мОбъект, ДанныеФормыДокумента);
	
КонецФункции

&НаКлиенте
Процедура кнОткрытьФормыНовыхДокументовТонкийКлиент(Команда)

    // 1. Точно также создаем массив новых документов.
	//АдресМассиваНовыхДокументов = ПолучитьАдресМассиваНовыхДокументовНаСервере();
	//
	//КоличествоНовыхДокументов = ПолучитьКоличествоНовыхДокументов(АдресМассиваНовыхДокументов);
	
	ПараметрыМассиваНовыхДокументов = ПолучитьАдресМассиваНовыхДокументовНаСервере();
	АдресМассиваНовыхДокументов 	= ПараметрыМассиваНовыхДокументов.АдресМассиваНовыхДокументов;
	КоличествоНовыхДокументов 		= ПараметрыМассиваНовыхДокументов.КоличествоНовыхДокументов;
	
    // 3. На клиенте создаем цикл из такого количества итераций, сколько элементов есть в массиве.
    Для НомерОбъекта = 0 По КоличествоНовыхДокументов - 1 Цикл
        
        ФормаДокумента = ПолучитьФорму("Документ.ПоступлениеТоваровУслуг.ФормаОбъекта",,,Истина);
        ДанныеФормыДокумента = ФормаДокумента.Объект;
        
        // 4. В цикле создаем формы новых документов, при этом заполняя их данными из созданного массива документов. А к массиву обращаемся через адрес хранилища.
        ЗаполнитьДанныеФормыТонкийКлиентНаСервере(ДанныеФормыДокумента, НомерОбъекта, АдресМассиваНовыхДокументов);
        
        КопироватьДанныеФормы(ДанныеФормыДокумента, ФормаДокумента.Объект);
        
        ФормаДокумента.Открыть();
        
    КонецЦикла;
    
КонецПроцедуры
Показать
51. Gasilin 44 24.08.18 13:49 Сейчас в теме
Работает в обоих случаях обычной и управляемой формы:
	Для Каждого СтрокаСотрудник Из РаботникиОрганизации Цикл
			
			Док = Документы.ИТ_ОбходнойЛист.СоздатьДокумент();
			
			ПараметрыЗаполнения = Новый Структура;
//Заполняем параметры и в том числе Табличные части
	
ПараметрыЗаполнения.Вставить("Сотрудник", 				СтрокаСотрудник.Сотрудник);
			ПараметрыЗаполнения.Вставить("ДатаУвольнения", 			СтрокаСотрудник.ДатаУвольнения);
			ПараметрыЗаполнения.Вставить("ПодразделениеСотрудника", СтрокаСотрудник.Сотрудник.ПодразделениеОрганизации);
			ПараметрыЗаполнения.Вставить("СтатьяУвольнения", 		СтрокаСотрудник.СтатьяЗаконаОТрудеРК);
			ПараметрыЗаполнения.Вставить("Организация", 			Организация);
			ПараметрыЗаполнения.Вставить("Дата", 					Дата);
			ПараметрыЗаполнения.Вставить("Комиссия", 				Маршрут.Значение.Комиссия.Выгрузить());
			
			//Заполняем ТЧ.Обходной лист. Если заполнено ЗамещающееЛицо, то его подставляем в Подписант
			ТЗОбходной=Док.ОбходнойЛист.Выгрузить().Скопировать();
			Для Каждого ТекущаяСтрока Из Маршрут.Значение.СписокФизическихЛицДляСогласования Цикл 
				НоваяСтрока = ТЗОбходной.Добавить();
				ЗаполнитьЗначенияСвойств(НоваяСтрока, ТекущаяСтрока);
				Если ЗначениеЗаполнено(ТекущаяСтрока.ЗамещающееЛицо) Тогда
					НоваяСтрока.Подписант = ТекущаяСтрока.ЗамещающееЛицо; 
				КонецЕсли;
			КонецЦикла;
			ПараметрыЗаполнения.Вставить("ОбходнойЛист", 			ТЗОбходной);
			
			ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ПараметрыЗаполнения);
 
 			фНовыйДокумент = ОткрытьФорму("Документ.ИТ_ОбходнойЛист.Форма.ФормаДокументаУправляемая",ПараметрыФормы,ЭтаФорма,Истина);
Показать


В модуле создаваемого документа:
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
	
	Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
	   
		Для Каждого ПараметрЗаполнения Из ДанныеЗаполнения Цикл
			Если ЭтотОбъект.Метаданные().Реквизиты.Найти(ПараметрЗаполнения.Ключ) = Неопределено Тогда
				Продолжить;
			КонецЕсли;
			Если НЕ ЗначениеЗаполнено(ЭтотОбъект[ПараметрЗаполнения.Ключ]) Тогда
				ЭтотОбъект[ПараметрЗаполнения.Ключ] = ПараметрЗаполнения.Значение;
			КонецЕсли;
		КонецЦикла;
		Если ДанныеЗаполнения.Свойство("ОбходнойЛист") Тогда
			Для Каждого СтрокаЗначенийЗаполнения Из ДанныеЗаполнения.ОбходнойЛист Цикл
				ЗаполнитьЗначенияСвойств(ОбходнойЛист.Добавить(), СтрокаЗначенийЗаполнения);
			КонецЦикла;
		КонецЕсли;
		Если ДанныеЗаполнения.Свойство("Комиссия") Тогда
			Для Каждого СтрокаЗначенийЗаполнения Из ДанныеЗаполнения.Комиссия Цикл
				ЗаполнитьЗначенияСвойств(Комиссия.Добавить(), СтрокаЗначенийЗаполнения);
			КонецЦикла;
		КонецЕсли;
   
	КонецЕсли;
	
КонецПроцедуры

Показать
ol_2004_; +1 Ответить
53. ol_2004_ 14.10.19 06:58 Сейчас в теме
54. ash2015 31 16.09.21 16:32 Сейчас в теме
Как выполнить ввод на основании программно и открыть форму?

ПараметрыФормы = Новый Структура("Основание", Объект.Ссылка);
ОткрытьФорму("Документ.ПриходТовара.ФормаОбъекта", ПараметрыФормы);

https://its.1c.ru/db/metod8dev/content/3562/hdoc
Оставьте свое сообщение

См. также

Идея или как сохранить ЦВЕТ, ШРИФТ, ОФОРМЛЕНИЕ пользователя Промо

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

Простой и оригинальный способ сохранять ЦВЕТОВУЮ СХЕМУ и ОФОРМЛЕНИЕ пользователей. Как сохранить ЦВЕТ

22.06.2015    24948    Tatitutu    12    

Программный интерфейс для доработки форм

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

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

25.11.2021    2966    AtamanovYS    19    

[ПОТРАЧЕНО] Динамическая таблица формы

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

История одной разработки в далеком 2020 году.

15.10.2021    3477    rpgshnik    47    

Программно свернуть/развернуть узел динамического списка (с основной таблицей). Жирная точка над всеми "i".

Работа с интерфейсом Универсальные функции v8 Бесплатно (free)

Какой пользователь не мечтал поменьше тыркать кнопкой? Особенно в малюсенькие +/- в "древесных" динамических списках. Если вас тоже озадачили, чтобы, при выборе узла дерева сами развернулись все его вложенные элементы , а при выборе другого узла - так же автоматом свернулась ранее развернутая ветка (причем эти узлы могут находится в разных "отношениях" друг с другом)... То вам - сюда.

08.10.2021    1522    e-9    13    

Хранение и редактирование дополнительных параметров в регламентированном отчете. Для начинающих. Промо

Работа с интерфейсом v8 БП2.0 УПП1 БУ Бесплатно (free)

Для начинающих. Как редактировать дополнительные параметры регламентированного отчета, изменив только модуль формы и модуль объекта. Как сохранить дополнительные параметры в данных отчета.

22.01.2014    21074    KapasMordorov    4    

Прогресс-бар в поле динамического списка

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

Изображаем прогресс-бары в колонке динамического списка

23.08.2021    2796    Yashazz    12    

Перенос расшифровки в пользовательские настройки

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

Как перенести данные расшифровки в пользовательские настройки.

11.08.2021    694    scientes    1    

1С и ODBC

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

ODBC (Open Database Connectivity) — это программный интерфейс, универсальное средство доступа к базам данных, разработанное для обмена между источниками (базами данных) разного типа. Данный интерфейс принято считать более низкоуровневым, чем библиотека ADOdb, однако причина эта кроется не в более низком качестве, но в том, что ODBC послужила своего рода фундаментом более поздней ADOdb – работу с последней поддерживают все типы баз, работающие и с первой. В данной статье мы расскажем о том, как взаимодействуют ODBC и 1С, а точнее, поговорим о механизме 1С ВнешнийИсточникДанных и его использовании с вышеупомянутым интерфейсом.

02.06.2021    1334    Koder_Line    5    

Программное генерирование кнопочек для удобного управления уровнями группировки в отчетах (версия 2a). Промо

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

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

09.04.2011    47359    mtv:)    75    

Предотвращение многократного вызова "ПриПолученииДанных" во время поиска в табличном поле в обычных формах

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

Долго искал решение: как при выводе строк заполнить значениями колонки, которые созданы программно, чтобы, не было тормозов при стандартном поиске. И с минимальными изменениями (легко контролируемыми, при обновлении).

07.04.2021    2093    Vlad_CK    9    

Динамический список и поиск... неприятностей

Работа с интерфейсом v8 Бесплатно (free)

Страх и ненависть в поиске по динамическому списку, или "Кое-что о неоптимальном отборе".

17.03.2021    4678    Yashazz    37    

Отображение и редактирование в дереве большого количества настроек/параметров/опций программы, конфигурации, документа, справочника - без программного создания элементов формы

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

Очень много реквизитов (настроечные опции, параметры) у справочника или документа, и их все необходимо разместить на управляемую форму - лень! Хочется - добавил в метаданные и всё! В публикации отличное, простое и олдскульное решение с открытым кодом, научимся работать с ДанныеФормыДерево, ДеревомЗначений, сделаем быстрый поиск, создадим универсальный инструмент.

11.12.2020    1078    SizovE    6    

Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов. Промо

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

Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов. Очень часто необходимо программно сформировать заголовок отчета, например добавить туда наименование валюты, в которой формируется отчет. Можно использовать макеты, но во многих случаях это не оправданно.

27.07.2012    32887    milkers    10    

Программное условное оформление динамического списка, раскраска строк списка по цветам справочника или любым другим условиям (условное оформление)

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

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

30.11.2020    6534    SizovE    4    

[mobile] Переносим HTML интерфейс на 1С

Работа с интерфейсом Мобильная разработка v8 v8::Mobile 1cv8.cf Бесплатно (free)

Разберем методы переноса HTML интерфейса на 1С на примере реализации нижнего меню для мобильного приложения. Сравним методы между собой. Данные методы можно применять не только для мобильной разработки, но и для веб-клиента и т.д

02.11.2020    8914    leobrn    79    

Цветовая схема конфигуратора в стиле OneScript

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

Цветовая схема конфигуратора 1С максимально приближенная к стандартной цветовой схеме OneScript в VS Code.

01.10.2020    1400    DmitrySinichnikov    3    

Рабочее место кассира для touch-screen и программируемой клавиатуры продавца в «1С: Розница» Промо

Работа с интерфейсом v8 Розница Бесплатно (free)

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

29.11.2012    48366    aavolkoff    50    

Рендеринг элементов управляемого интерфейса

Работа с интерфейсом v8 v8::УФ Россия Бесплатно (free)

Реализация отображения всего состояния формы проще, чем работа по изменениям. Однако использование идеи разделения алгоритмов на программные слои MVC и построения реактивных систем позволяет получить не только простые и масштабируемые решения, но и производительные интерфейсы. Рассмотрим примеры таких реализаций на основе использования фреймворка «Управление состоянием»: Информационная надпись, Заголовок формы, Свертываемая группа, Отключаемые панели.

22.09.2020    3928    kalyaka    5    

Переопределение представления ссылочного значения

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

Переопределение представления ссылочного значения

17.09.2020    5053    sam441    15    

Бухгалтерия предприятия 3.0 интерфейс, аналогичный 1С:Бухгалтерии 7.7; Промо

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

Бухгалтерия предприятия, редакция 3.0, версия 3.0.14. Добавлена возможность использовать интерфейс, аналогичный 1С:Бухгалтерии 7.7;

20.09.2012    37979    dour-dead    18    

Медленно формируются отчеты в БП 3, способ исправления

Работа с интерфейсом v8 БП3.0 Бесплатно (free)

При формировании любых отчетов, но в особенности оборотно-сальдовой ведомости в бухгалтерии 3, очень долго формировался отчет, ПОЯВЛЯЛСЯ ЖЕЛТЫЙ КОТ, разумеется у бухгалтера невроз, да и у меня тоже. Что только ни делал: тестирование и исправление с пересчетом итогов, настройка SQL, отключение фоновых заданий, обновление платформы и конфигурации, а толку нет, регламентные операции по скулю тоже сделал. И что же сделал, а вот что:

21.07.2020    3078    VID1234    8    

Регистр сведений как дополнение объекта

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

Подключаем регистры сведений к формам связанных с ними объектов, быстро и надежно.

19.05.2020    5162    Infector    14    

Перенос инструкций из word во встроенную справку 1С с сохранением картинок и форматирования

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

Делюсь простым и удобным способом переноса справки/инструкций из ворда (и не только) во встроенную справку 1С с сохранением картинок и форматирования.

22.04.2020    5605    77dream77    21    

Выбор вариантов отчета в "Управление торговлей" ред. 11 Промо

Работа с интерфейсом Учет ТМЦ Учет ТМЦ v8 УТ10 Россия БУ Бесплатно (free)

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

27.05.2012    48749    1cUserAndrew    25    

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

Работа с интерфейсом v8 Бесплатно (free)

Как управлять доступным функционалом в привязке к пользователям программы.

24.03.2020    2162    Evilgrym    2    

Форма выбора для реквизита с составным типом данных

Работа с интерфейсом v8 Бесплатно (free)

Возник вопрос: как открыть форму выбора для реквизита, имеющего составной тип данных, да еще и отображаемый в виде надписи?

11.03.2020    6153    rule_2    4    

Treemapping — способ визуализации данных древовидной структуры. Карта-схема дерева

Математика и алгоритмы Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Предлагается ознакомиться с редким способом графического представления иерархических данных. Приводится алгоритм формирования и пример реализации.

18.02.2020    6561    randomus    20    

Практика регулярных выражений в 1С или "парсим неудобные форматы" Промо

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

В продолжение статьи Использование регулярных выражений (RegExp) в 1С8.х. Углубляемся в практику использования регулярных выражений в 1С. Основы работы с регулярными выражениями хорошо описаны в указанной публикации. А я попробую ответить на вопрос "почему именно регулярные выражения?" на примере конкретной рабочей задачи.

26.10.2011    30660    1cspecialist    33    

[Шпаргалка] Предустановка типа для составного реквизита

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

Для реквизита составного типа необходимо ограничить список выбора типов.

18.02.2020    5564    rpgshnik    6    

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

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

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

13.01.2020    39023    aximo    19    

Добавление собственного поля и состояния в настройки доступности по состоянию в 1С:Документооборот

Работа с интерфейсом v8 ДО Бесплатно (free)

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

30.12.2019    6851    pavelpribytkin96    2    

Допиливаем форму выбора серий номенклатуры для отображения остатков Промо

Работа с интерфейсом Практика программирования v8 КА1 УТ10 УПП1 Россия Бесплатно (free)

В этой статье я хочу рассмотреть задачу, которая довольно часто возникает у начинающих (и не только) разработчиков, адаптирующих типовые конфигурации (УТ, КА, УПП) на предприятиях торговли. Речь пойдет про отображение остатков в форме выбора серий номенклатуры при подборе в документы. Это актуально в тех случаях, когда не ведется партионный учет по сериям, либо когда документы вводятся неоперативно и нет возможности воспользоваться волшебной кнопкой "Заполнить и провести". На первый взгляд задача банальна, но я хочу показать некоторые "грабли", на которые часто наступают новички в процессе ее реализации, а также сопоставлю алгоритмы решения на платформе 8.1 и 8.2.

20.01.2011    33317    practik1c    19    

Визуальный индикатор состояния документа

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

Визуальное представление состояние документа (что может быть состоянием оплаты заказа, или состоянием движения документа и т.д.) в некоторых случаях значительно ускоряет процесс поиска определенного документа.

24.12.2019    2759    user752307    10    

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

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

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

09.12.2019    12555    John_d    16    

Лайфхаки 1С. Настройка списков (Часть 3)

Работа с интерфейсом v8 Бесплатно (free)

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

03.12.2019    22865    VachKirp    14    

В новой платформе пропала кнопка "Печать". Имитируем БСП

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

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

03.12.2019    10476    Vlan    44    

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

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

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

12.11.2019    16010    John_d    25    

Локализация интерфейсов конфигураций. Практика и инструментарий 1Ci

Работа с интерфейсом Локализация решений v8 Бесплатно (free)

В последнее время компания 1С International все увереннее заявляет о себе на международном рынке. Но для успешного продвижения в этом направлении необходима локализация интерфейсов конфигураций 1С. О том, как выглядит процесс перевода, какие инструменты для этого есть, где брать переводчиков и как проверять их работу, на конференции Infostart Event 2018 Education рассказал руководитель группы локализации компании 1Ci Сергей Поликарпов.

05.11.2019    6195    user1069006    1    

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

Журнал регистрации Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

31.10.2019    9948    slozhenikin_com    28    

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

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

Советы по настройке интерфейса Такси и особенности работы в этой среде.

24.10.2019    16182    VachKirp    10    

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

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

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

16.10.2019    14633    YPermitin    19    

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

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

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

06.10.2019    13244    YPermitin    31    

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

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

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

02.10.2019    16759    VachKirp    10    

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

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

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

25.09.2019    9833    Sergey_Borisovi4    3    

[Шпаргалка] Программное создание элементов формы

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

Программное создание практически всех популярных элементов формы.

06.09.2019    104901    rpgshnik    77    

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

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

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

26.08.2019    11184    rpgshnik    36    

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

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

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

14.08.2019    19919    nagaitseff    15    

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

Работа с интерфейсом Инструментарий разработчика v8 Бесплатно (free)

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

07.08.2019    13603    IvanAT1981    18