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

Автозаполнение реквизита документа

Автор zampollitr, 18 июн 2016, 13:55

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

zampollitr

Доброго времени суток.
Существует конфигурацияERP 2.1.3.135.
В ней обработка РедактированиеСпецификацииСтрокиЗаказа.epf
Там есть вкладка Материалы и Работы, данные туда загоняем из табличного документа через внешнюю обработку.
Данные загружаются, но обязательные поля Этап и Статья калькуляции приходится выбирать вручную, что очень замедляет процесс. Можно ли сделать, чтобы Этап по умолчанию для каждой строки выбирал значение Упаковка, а Статья калькуляции - Материальные расходы?
Обработка и скрины в архивчике по ссылке.
Обработка

cska-fanat-kz

Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

zampollitr

А не будет кто-нибудь любезен подсказать как примерно это сделать?
В какой Области-Процедуре-На Сервере-Клиенте?

LexaK

в ваше обработке есть такой код


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


сделайте его так, обратите внимание на подбор элементов справочников


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

                //создаем новую строку
                лкНов = ЗаказОбъект.МатериалыИУслуги.Добавить();

                //заполняем данными из обработки
ЗаполнитьЗначенияСвойств(лкНов, Строка);

                //если значения полей пустые, заполняем значениями по умолчанию
лкНов.Этап = ?(ЗначениеЗаполнено(лкНов.Этап), лкНов.Этап, лкУпаковка);
лкНов.СтатьяКалькуляции = ?(ЗначениеЗаполнено(лкНов.СтатьяКалькуляции), лкНов.СтатьяКалькуляции, лкСтатья);

КонецЦикла;

если помогло нажмите: Спасибо!

zampollitr

Цитата: LexaK от 22 июн 2016, 18:00
в ваше обработке есть такой код


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


сделайте его так, обратите внимание на подбор элементов справочников


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

                //создаем новую строку
                лкНов = ЗаказОбъект.МатериалыИУслуги.Добавить();

                //заполняем данными из обработки
ЗаполнитьЗначенияСвойств(лкНов, Строка);

                //если значения полей пустые, заполняем значениями по умолчанию
лкНов.Этап = ?(ЗначениеЗаполнено(лкНов.Этап), лкНов.Этап, лкУпаковка);
лкНов.СтатьяКалькуляции = ?(ЗначениеЗаполнено(лкНов.СтатьяКалькуляции), лкНов.СтатьяКалькуляции, лкСтатья);

КонецЦикла;



Попробовал, не вышло.
Что интересно, 1С по ходу не по данному коду производит заполнение табличной части МатериалыИУслуги, т.к. я полностью закомментировал код
// Запись изменений в табличную часть МатериалыИУслуги.
//   Для Каждого Строка Из Объект.МатериалыИУслуги Цикл
//      ЗаполнитьЗначенияСвойств(ЗаказОбъект.МатериалыИУслуги.Добавить(), Строка);
//   КонецЦикла;
Сохранил-обновил конфу, запускаю 1С ии он спокойно заполняет документ, не ругается никак.

Т.е. Я Открываю Спецификацию заказа, выбираю вкладку Материалы и работа, нажимаю Заполнить-Подобрать товары. Открывается обработка ПодборТоваровВДокументПродажи через нее выбираю нужное и жму Перенести в документ и оно переносится, не взирая на закомментированый код.
Ну и там как я писал мне нужно сделать автозаполнение граф Этап и Статья калькуляции.
ПодборТоваровВДокументПродажи - ссылка на обработку ПодборТоваровВДокументПродажи на всяк. случай

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

Рейтинг@Mail.ru

Поиск