1. andrey_name_912 12 13.01.18 11:42 Сейчас в теме

Расширения конфигурации как добавить на основании

Добрый день коллеги! Подскажите хочу реализовать создание одного документа на основании другого для конфигурация ЗУП 3.1, на основе расширений. Не могу найти как указать что один документ являться основанием для другого, и можно ли это вообще сделать через расширения
Ответы
Избранное Подписка Сортировка: Древо
2. DarkUser 13.01.18 16:36 Сейчас в теме
Можно, запросто.

1. В расширении в разделе Общие -> Общие команды, создаете новую команду. Группу у команды указываете "Командная панель формы. Создать на основании". Тип параметра команды: Ссылки тех документов, в которых появится новая строка в подменю ВводаНаОсновании. Режим использования параметра - одиночный.
2. В модуле команды в процедуре ОбработкаКоманды пишите код, который будет выводить новый документ. Что то типа:

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


3. Для того, что бы новая команда из расширения стала доступна пользователям, в расширении надо захватить или создать новую роль, и вклчить в неё созданную вами на первом шаге команду.
4. При необходимости включить команду в нужную подсистему.
5. Для того что бы документ, который вы создаете на основании правильно заполнялся, возможно потребуется захватить его в расширении и поправить в модуле Объекта процедуру ОбработкаЗаполнения. Старайтесь использовать типовые функции заполнения документов.

3. Профит. В меню нужного вам документа появится новая команда ввода на основании.
Прикрепленные файлы:
acanta; insurgut; CnupT; tsatsur; Shida; CXY; fieryfist; andrey_name_912; user705522_constantin_h; +9 Ответить
3. andrey_name_912 12 18.01.18 17:52 Сейчас в теме
4. tsatsur 28.09.18 16:06 Сейчас в теме
(2)
3. Профит. В меню нужного вам документа появится новая команда ввода на основании.


Большое спасибо за пример!
Но чтобы добавилась кнопка нужно еще одно действие, по крайней мере на конфигурации КА 2.4.
В модуле менеджера документа из которого создаётся документ на основании добавить:

&После("ДобавитьКомандыСозданияНаОсновании")
Процедура x_ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры)
	Документы.<нужный документ>.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
КонецПроцедуры


А еще есть обработка "Связанные документы" в которой добавленный документ тоже не появляется. Как это побороть в расширении?:) Если найду - отпишусь.
5. bmk74 80 28.09.18 16:47 Сейчас в теме
(4)А что искать то, "Критерии Отбора" -> "СвязанныеДокументы", там галочку поставить надо будет
6. user792443 11.10.18 11:25 Сейчас в теме
(5) Можете, пожалуйста, поподробней?)
7. user792443 11.10.18 11:35 Сейчас в теме
(6)Нашел, галки стоят. В связанных документах ничего(
8. user792443 11.10.18 11:43 Сейчас в теме
(7)Нашел, состав не меняется. Ругается на разные галки с расширяемой конфигурацией
9. Letos 253 11.10.18 15:20 Сейчас в теме
(2)
СтрДанные = Новый Структура("Основание", ПараметрКоманды);


Сделал всё по вашему совету, документ открывается, но ничего не заполняется, более того в процедуре "ОбработкаЗаполнения" (то что захвачено в расширение) переменная ДанныеЗаполнения равно НЕОПРЕДЕЛЕНО. Что может быть не так?
10. Letos 253 11.10.18 16:54 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 60 000 руб. до 110 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата от 120 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 80 000 руб. до 100 000 руб.
Полный день

Системный аналитик
Новосибирск
зарплата от 80 000 руб. до 100 000 руб.
Полный день