1С:Бухгалтерия 3.0
Бухгалтерский учет
Россия
1С
Бухгалтерский учет
Программист
Внешняя обработка (ert,epf)
1С БП Корп. Внешняя обработка выводит значения по столбцу в эксель. Возможно ли получить в ней значение поля Инициатор1 (см.картинку), созданного в Документе РеализацияТоваровУслуг в ФормаПодписиТовары?
Реквизит подтягивается из СправочникСсылка.ФизическиеЛица
Пишу на форме вот так:
При запуске обработки пишет, что поле не обнаружено.
Реквизит подтягивается из СправочникСсылка.ФизическиеЛица
Пишу на форме вот так:
НовСтр.Инициатор1 = Реализация.Инициатор1;
При запуске обработки пишет, что поле не обнаружено.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
(20)Да, вы создали реквизит прямо в объекте, а не на форме, но он на форме недоступен не из-за этого. Чтобы на расширяемую форму добавить реквизит объекта, необходимо добавить сам объект в расширение (т.е объект формы. Нужно добавить форму в расширение, открыть ее, найти на закладке "Реквизиты" строку "Объект" (может по другому называться, это реквизит с галкой "Основной реквизит", он выделяется жирным). Да, такое действие надо проделать, даже если вы хотите вынести на форму реквизит, добавленный в расширении.
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8) В конфигураторе найти Документы - РеализацияТоваров - Реквизиты
Посмотреть есть ли там Инициатор1
Если нет посмотреть есть ли табличная часть ДополнительныеРеквизиты
Если есть посмотреть какие реквизиты у этой табличной части
Обращаться далее в своей обработке к этой ТабЧасти типа:
Посмотреть есть ли там Инициатор1
Если нет посмотреть есть ли табличная часть ДополнительныеРеквизиты
Если есть посмотреть какие реквизиты у этой табличной части
Обращаться далее в своей обработке к этой ТабЧасти типа:
Док = Реализация.ПолучитьОбъект();
тчДопРеквизиты = Док.ДополнительныеРквизиты;
Для каждого Стр из тчДопРеквизиты Цикл
Наименование = Стр.Наименование; // "Инициатор1"
Значение = Стр.Значение;
КонецЦикла;
(5)В документе "РеализацияТоваровУслуг" есть форма "ФормаДокументаОбщая", в этой форме есть процедура "ДекорацияПодписиНажатие", в этой процедуре заполняется структура "ПараметрыФормы"
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("ТолькоПросмотр", ТолькоПросмотр);
....
Вот там должно быть что-то типа такого
ПараметрыФормы.Вставить("Инициатор1", ..........);
Что там написано?
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("ТолькоПросмотр", ТолькоПросмотр);
....
Вот там должно быть что-то типа такого
ПараметрыФормы.Вставить("Инициатор1", ..........);
Что там написано?
(13) Вы просто на форму подписантов добавили реквизит и хотите из него какие-то данные считывать? Так не получится. Вам надо добавить реквизит документа "Инициатор1" и тогда эти данные будут храниться в базе данных и вы сможете к ним обращаться хоть через точку, хоть запросами. реквизит формы существует только пока инициализирована форма, как только форма закроется, то что Вы ввели в поле "Инициатор 1" исчезнет.
(14) Спасибо
Возможно добавить данный реквизит в базу данных?
Достаточно того, что я прописал в ФормаДокументаОбщая как Объект.Инициатор1?
Так же обращаюсь во внешней обработке:
При этом при открытии через внешнюю обработку пишет, что Поле объекта не обнаружено (Инициатор1)
Возможно добавить данный реквизит в базу данных?
Достаточно того, что я прописал в ФормаДокументаОбщая как Объект.Инициатор1?
Так же обращаюсь во внешней обработке:
НовСтр.Инициатор1 = Объект.Инициатор1;
При этом при открытии через внешнюю обработку пишет, что Поле объекта не обнаружено (Инициатор1)
Опишу все действия, которые я сделал при попытке внести новый реквизит на форму в 1С БП Корп.:
1. В конфигураторе, в доработке в Документе РеализацияТоваровУслуг в ФормаПодписиТовары создал реквизит Инициатор1 с типом данных: СправочникСсылка.ФизическиеЛица (данный справочник также добавлен в расширение, т.к. из него подтягиваются данные)
2. В конфигураторе, в доработке на форме ФормаПодписиТовары создал объект Инициатор1, перенес его на форму (при этом не поле формы Реквизит почему-то не отображалась надпись Объект)
3. В конфигураторе, в доработке в Документы - РеализацияТоваровУслуг - добавил Инициатор1 в Реквизиты (а также в ТЧ Товары)
(- Запустил промежуточную отладку - не активна кнопка ОК в вплывающем окне Подписи.)
4. В конфигураторе, в доработке на форме ПКМ Инициатор1 через Свойства создал:
На что при сохранении пишет:
{ДоработкаКорп Документ.РеализацияТоваровУслуг.Форма.ФормаПодписиТовары.Форма(14,9)}: Переменная не определена (РеализацияТоваровУслуг)
Я думаю, это связано с тем, что реквизит не прописался как Объект. Опытные наставники, подскажите пожалуйста, как это можно подправить?
1. В конфигураторе, в доработке в Документе РеализацияТоваровУслуг в ФормаПодписиТовары создал реквизит Инициатор1 с типом данных: СправочникСсылка.ФизическиеЛица (данный справочник также добавлен в расширение, т.к. из него подтягиваются данные)
2. В конфигураторе, в доработке на форме ФормаПодписиТовары создал объект Инициатор1, перенес его на форму (при этом не поле формы Реквизит почему-то не отображалась надпись Объект)
3. В конфигураторе, в доработке в Документы - РеализацияТоваровУслуг - добавил Инициатор1 в Реквизиты (а также в ТЧ Товары)
(- Запустил промежуточную отладку - не активна кнопка ОК в вплывающем окне Подписи.)
4. В конфигураторе, в доработке на форме ПКМ Инициатор1 через Свойства создал:
&НаКлиенте
Процедура ДК1_Инициатор1НачалоВыбораПосле(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
//вписал код Vitaly1C8
Док = РеализацияТоваровУслуг.ПолучитьОбъект();
тчДопРеквизиты = Док.ДополнительныеРеквизиты;
Для каждого Стр из тчДопРеквизиты Цикл
Наименование = Стр.Наименование; // "Инициатор1"
Значение = Стр.Значение;
КонецЦикла;
КонецПроцедуры
ПоказатьНа что при сохранении пишет:
{ДоработкаКорп Документ.РеализацияТоваровУслуг.Форма.ФормаПодписиТовары.Форма(14,9)}: Переменная не определена (РеализацияТоваровУслуг)
Я думаю, это связано с тем, что реквизит не прописался как Объект. Опытные наставники, подскажите пожалуйста, как это можно подправить?
Прикрепленные файлы:
(16)Что за "РеализацияТоваровУслуг"? Скорее всего, тут нужно писать "Объект". Также "ПолучитьОбъект()" не требуется в данной ситуации, да и на клиенте он недоступен. Еще реквизит "Инициатор1" находится в табличной части "Товары", значит и обходить нужно эту табличную часть:
Не забывать, что из "Инициатор1" реквизиты достать на клиенте не получится.
Для Каждого СтрокаТовар Из Объект.Товары Цикл
Инициатор1 = СтрокаТовар.Инициатор1;
//...
КонецЦикла;
Не забывать, что из "Инициатор1" реквизиты достать на клиенте не получится.
(17) Спасибо за подсказку.
На Объект тоже ругается.
Да и тут вроде всё проще, не надо никакого цикла, ведь ФИО вносятся вручную из СправочникСсылка.ФизическиеЛица. Получается и никакого кода в модуле формы не надо, правильно?
Почему же тогда при внесении в пользовательском режиме данные не сохраняются и не активна кнопка ОК в вплывающем окне Подписи?
На Объект тоже ругается.
Да и тут вроде всё проще, не надо никакого цикла, ведь ФИО вносятся вручную из СправочникСсылка.ФизическиеЛица. Получается и никакого кода в модуле формы не надо, правильно?
Почему же тогда при внесении в пользовательском режиме данные не сохраняются и не активна кнопка ОК в вплывающем окне Подписи?
(19) Цель такая - через расширение в документе РеализацияТоваровУслуг внести дополнительный реквизит Инициатор1 в поле Подписи, который заносится из выпадающего списка вручную.
Возможно, весь этот код на модуле формы и не нужен, просто я понимаю что данные должны выбираться из СправочникСсылка.ФизическиеЛица, а вот где они сохранятся, у меня вопрос. Отсюда и возникла ТабличнаяЧасть.
Проблема в том, что я добавил в расширении реквизит прям в дереве конфигурации и на форме. Поэтому у меня на поле формы Реквизит Объект не присутствует. Возможность создания реквизита в самом документе на закладке Данные в расширении недоступна. Вкладка Данные доступна только в Конфигурации, а я делаю на расширении. Как быть? У меня мало понимания, как это работает.
Возможно, весь этот код на модуле формы и не нужен, просто я понимаю что данные должны выбираться из СправочникСсылка.ФизическиеЛица, а вот где они сохранятся, у меня вопрос. Отсюда и возникла ТабличнаяЧасть.
Проблема в том, что я добавил в расширении реквизит прям в дереве конфигурации и на форме. Поэтому у меня на поле формы Реквизит Объект не присутствует. Возможность создания реквизита в самом документе на закладке Данные в расширении недоступна. Вкладка Данные доступна только в Конфигурации, а я делаю на расширении. Как быть? У меня мало понимания, как это работает.
(20)Да, вы создали реквизит прямо в объекте, а не на форме, но он на форме недоступен не из-за этого. Чтобы на расширяемую форму добавить реквизит объекта, необходимо добавить сам объект в расширение (т.е объект формы. Нужно добавить форму в расширение, открыть ее, найти на закладке "Реквизиты" строку "Объект" (может по другому называться, это реквизит с галкой "Основной реквизит", он выделяется жирным). Да, такое действие надо проделать, даже если вы хотите вынести на форму реквизит, добавленный в расширении.
Прикрепленные файлы:
(21) Большое спасибо за мурзилку.
Вот где оказывается собака зарыта!
Итак, (1) я перенёс в расширение СправочникФизическиеЛица и Документ РеализацияТоваровУслуг, (2) в нём насоздавал реквизитов, в т.ч. и в табличной части Услуги, табличной части Товары.
(3) Далее, в расширении в поле реквизитов ФормыПодписиТовары документа РеализацияТоваровУслуг нажимаю (Alt+Shift+F2) Добавить в расширение.
Но чуда не происходит, поле реквизит из расширения не подхватывается.
(Аналогично я пробовал подхватить реквизиты из справочника, а не из документа - тоже не видит)
Вот где оказывается собака зарыта!
Итак, (1) я перенёс в расширение СправочникФизическиеЛица и Документ РеализацияТоваровУслуг, (2) в нём насоздавал реквизитов, в т.ч. и в табличной части Услуги, табличной части Товары.
(3) Далее, в расширении в поле реквизитов ФормыПодписиТовары документа РеализацияТоваровУслуг нажимаю (Alt+Shift+F2) Добавить в расширение.
Но чуда не происходит, поле реквизит из расширения не подхватывается.
(Аналогично я пробовал подхватить реквизиты из справочника, а не из документа - тоже не видит)
Прикрепленные файлы:
Ну я как бы сделал всё по инструкции:
но в режиме пользователя (см. картинку) поле Инициатор 1 заполняется, но не сохраняется.
Я не понимаю, где ошибка.
Возможно, необходимо создать отдельный справочник для поля Инициатор, но тогда он будет просто дублировать справочник ФизическиеЛица. Зачем множить сущности без необходимости.
Возможно, нужно как-то вызвать запись после или перед основным выполнением команды, либо как-то в событии это сделать.
1 добавил новый реквизит в расширение:
- Добавил в расширение документ РеализацияТоваровУслуг и справочник ФизическиеЛица
- в Документе РеализацияТоваровУслуг в ФормаПодписиТовары создал реквизит Инициатор1 с типом данных: СправочникСсылка.ФизическиеЛица
2 добавил объект в расширение:
- в дереве конфигурации доработки создавал реквизиты (в т.ч. и в табличной части Услуги, табличной части Товары)
- через Alt+Shift+F2 Добавить в расширение добавил (строка Инициатор 1 стала чёрной).
3 вывел новый реквизит на форму:
- перетащил мышкой объект на форму, запустил отладку
- Добавил в расширение документ РеализацияТоваровУслуг и справочник ФизическиеЛица
- в Документе РеализацияТоваровУслуг в ФормаПодписиТовары создал реквизит Инициатор1 с типом данных: СправочникСсылка.ФизическиеЛица
2 добавил объект в расширение:
- в дереве конфигурации доработки создавал реквизиты (в т.ч. и в табличной части Услуги, табличной части Товары)
- через Alt+Shift+F2 Добавить в расширение добавил (строка Инициатор 1 стала чёрной).
3 вывел новый реквизит на форму:
- перетащил мышкой объект на форму, запустил отладку
но в режиме пользователя (см. картинку) поле Инициатор 1 заполняется, но не сохраняется.
Я не понимаю, где ошибка.
Возможно, необходимо создать отдельный справочник для поля Инициатор, но тогда он будет просто дублировать справочник ФизическиеЛица. Зачем множить сущности без необходимости.
Возможно, нужно как-то вызвать запись после или перед основным выполнением команды, либо как-то в событии это сделать.
Прикрепленные файлы:
(24)
В дереве конфигурации в расширении РеализацияТоваровУслуг создавал реквизиты, на всякий случай создал те же реквизиты и в табличной части Услуги и табличной части Товары.
Последовательность переноса отметил цифрами на картинке.
Реквизит "Инициатор1" добавили в объект в расширении?
В дереве конфигурации в расширении РеализацияТоваровУслуг создавал реквизиты, на всякий случай создал те же реквизиты и в табличной части Услуги и табличной части Товары.
Последовательность переноса отметил цифрами на картинке.
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот