После добавления в расширение док-та СборкаЗапасов ДокументОснование тип уустановился - ЛюбаяСсылка. Надо, чтобы СборкаЗапасов вводилась на основании РасходнойНакладной
Ставила (в расширении) как в конфигурации галочки, их всего 4 и свою - получила
"Склады: Значение контролируемого свойства Тип у объекта Документ.СборкаЗапасов.Реквизит.ДокументОснование не совпадает со значением в расширяемой конфигурации"
Что делать?? :(
(1) Дело вот в чем. На самом деле в расширении, установив 4 типовые галочки + свою, Вы не расширили тип допустимых значений реквизита "ДокументОснование". Вы поставили тип реквизита на проверку, запретив расширению подключаться к ИБ, если тип данного реквизита в своем составе в расширяемой конфигурации не будет содержать эти 5 галочек.
Расширять тип реквизитов у объектов основной конфигурации нельзя. Можно только контролировать. Еще раз обращу на это Ваше внимание: флажками вы не добавляете типы, Вы устанавливаете контроль на состав типа.
Что делать? Зависит от Ваших возможностей касательно доработки основной конфигурации. В самом простом случае: добавить в тип основания свой документ прямо в расширяемой конфигурации, а в самом расширении уже описать необходимую логику заполнения объектов. Либо, если платформа позволяет и менять основную конфигурацию нельзя, можно добавить в расширении свой дополнительный реквизит, например "ОснованиеРасходнаяНакладная" с нужным типом, и работать уже с ним.
РасходнойНакладной - этот документ уже добавили в расширение из конфигурации? Не очень понятно из описания почему не получилось. Будем уточнять от простого к сложному. Я подобное делал, все работало
(2)
РасходнаяНакладная и СборкаЗапасов - документы из конфигурации. Типовые.
В расширении делаю возможность из РасходнойНакладной ввести на основании в СборкаЗапасов.
Это все получилось, но СборкаЗапасов.ДокументОснование = Неопределено, хотя ставлю = РасходнаяНакладная.Ссылка.
Я НЕ спрашиваю как сделать ввод на основании. Я спрашиваю, как расширить тип ДокументОснование СборкаЗапасов.
Вот тогда выдержка из документации к 14-ой платформе:
Объекты, размещенные в расширении конфигурации, могут изменять поведение существующих объектов расширяемой конфигурации, не изменяя структуру данных, которые хранятся в информационной базе. В тоже время объекты, расположенные в расширении конфигурации, имеют возможность дополнять структуру хранения расширяемых объектов конфигурации (добавлять реквизиты) и создавать собственные объекты расширения, которые будут хранить «свои» данные в информационной базе расширяемой конфигурации.
1. Когда Вы в основной конфигурации открываете окно с типом реквизита "ДокументОснование", Вы включаете те документы, которые могут записываться в данный реквизит.
2. Когда Вы делаете тоже самое в расширении, т.е. открываете окно типа реквизита и включаете документы, этими действиями Вы не расширяете состав типа реквизита. Этими действиями Вы говорите 1С: "Выдай мне ошибку, если вдруг в основной конфигурации выбранных мной документов не окажется в типе реквизита ДокументОснование!" Вот 1С Вам и выдает ошибку: в основной конфигурации же нет расходной-накладной среди типов документа-основания.
Это не Вы как-то неправильно расширяете тип реквизита. Это в 1С так задумано - одно и то же диалоговое окошко в конфигурации и в расширении делает разные вещи.
И еще раз резюме: через расширение включить расходную накладную в состав типа для реквизита "ДокументОснования" у Вас не получится, это невозможно. Вам придется либо менять саму конфигурацию, либо придумывать обходные пути. Например, добавлять в расширении свой дополнительный реквизит для хранения документа-основания.
(7) ну в смысле в расширении свой реквизит добавила, а как теперь выводить структуру подчиненности? потому что в самой конфе ОбщаяФорма СтруктураПодчиненности
Процедура СформироватьДеревьяДокументов()
(7)
подскажите пожалуйста в общей команде в расширении
сделала так -
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Массив1 = Новый Массив;
Для каждого стр из ПараметрыВыполненияКоманды.Источник.Элементы.Запасы.ВыделенныеСтроки Цикл
Массив1.Добавить(стр);
КонецЦикла;
СтрДанные = Новый Структура("Основание,Строки", ПараметрКоманды, Массив1);
// СтрДанные = Новый Структура("Основание", ПараметрКоманды);
ПараметрыФормы = Новый Структура("ЗначенияЗаполнения,ИспользоватьЭтапыПроизводства", СтрДанные, Истина);
ОткрытьФорму("Документ.СборкаЗапасов.ФормаОбъекта", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);
КонецПроцедуры
Как бы в этом месте проверить - для РасходнойНакладной - может уже есть СборкаЗапасов?