bdd2

Заполнение ТЧ по ТЧ и просто заполнение.

Опубликовал Виктор (obmailok) в раздел Обработки - Обработка документов

Обработка выполняет любые действия со значениями табличной части в том числе заполнение на основании табличных частей других объектов (не обязательно с похожей структурой). Позволяет заполнять такие экзотические поля как "КлючСтроки" и прочие, требующие сложных вычислений.
Навеяно "ОбработкаТабличнойЧастиТовары". Оформленно в виде внешней саморегистрируемой обработки заполнения табличных частей. С претензией на универсальность.

При открытии обработки в пользовательском режиме будет сформирован список всех документов и справочников с указанием табличных частей готовый для копирования (в режиме конфигуратора) в макет "Параметры_Авторегистрации" (лишнее можно удалить).

В обработке достуны ряд алгоритмов:

 

Перечень доступных алгоритмов

Для алгоритмов у которых доступно заполнение соответствия и/или алгоритма возможно сохранение настроек:

Действия

При заполнении ТЧ на основании другой ТЧ есть три варианта заполнение: 1. По соответствию; 2. По произвольному алгоритму; 3. Их комбинация.:

Заполнения ТЧ приемник по ТЧ источника

Соответствия заполняются вручную (с учетом типов),  по имени (с учетом типа), по типу (не взирая на имя):

 

Соответствие

При написании алгоритма доступны три помошника: 1. Шаблон запроса(ов); 2. Изменение текста написанного запроса (требует его выделения); 3. Все поля объекта, откуда была вызвана обработка, и текущие (по циклу) строки таблиц источника и приемника:

 

Редактор текста алгоритма.

После выбора поля путь к данным вставляется в алгоритм:

 

Выбор поля

 

Скачать файлы

Наименование Файл Версия Размер
Обработка "Заполнение ТЧ по ТЧ".
.epf 43,30Kb
02.04.10
332
.epf 43,30Kb 332 Бесплатно

См. также

Добавить вознаграждение
Комментарии
1. Igоr Sаulеviсh (gutentag) 249 31.03.10 22:33 Сейчас в теме
2. Сергей (Che) Коцюра (CheBurator) 3366 02.04.10 21:13 Сейчас в теме
не понял, есть ли такая возможность:
приемник - строка, источник - реквизит.
???
как будет сделано приведение типов?
.
например я в ТЧприемнике хочу заполнить строка.Артикул значением Товар.Артикул
4. Виктор (obmailok) 54 02.04.10 21:28 Сейчас в теме
(2) Если я правильно понял, то строка - это реквизит типа "Строка".
Тогда на закладке "Алгоритм" нужно написать примерно такую строку:

ТекСтрокаТЧ_Приемник.РеквизитТипаСтрока = Строка(ТекСтрокаТЧ_Источник.Товар.РеквизитЛюбогоТипа);

Алгоритм отрабатывается после заполнения соответствия, если таковое имеется.
8. Сергей (Che) Коцюра (CheBurator) 3366 02.04.10 21:44 Сейчас в теме
(5) спсб. я примерно так себе и представлял.
.
по поводу "пропадающих" сообщений и прочих проблем - это временные трудности на портале, связанные с большим трафиком. Саппорт работает над устранение проблем и повышением производительности.
9. Виктор (obmailok) 54 02.04.10 22:13 Сейчас в теме
(8) - я понял подвох.
Задача автоматического подбора соответствий в этой обработке не решалась. Тем боле, что кроме типа может не совпадать имя реквизита. Для этого и потребовалось сохранение преднастроек. Обработка в первую очередь предназначалась для случаев, когда из одной строки или нескольких, связанных по ключу строк нужно создать одну или несколько ответных строк. А поскольку алгоритм выполняется в цикле, то была создана СтруктураЛичная для хранения каких-нибудь промежуточных значений, чтоб не пересчитывать.
Сложные случаи требуют преднастроек программистом.
В остальных случаях вполне пригодна для простых пользователей.
10. Сергей (Che) Коцюра (CheBurator) 3366 03.04.10 01:07 Сейчас в теме
(9) это вы сильно хорошего мнения о "простых пользователях" - они вот так не глядя, например (для 7.7 ибо у меня есть мелкопохожая разработка), ПО ПРОТСОМУ - такой обработкой столько наворотят - неделю разгребать.. абизянам гранаты в руки - не давать!
11. Виктор (obmailok) 54 03.04.10 07:39 Сейчас в теме
(10) К сожалению обезьянам и давать ничего не надо - они сами находят.
А если по существу, то была идея при вызове обработки в структуре параметров передавать настройки по некоторому ограничению, но что ограничивать и как симпатичней это сделать пока не решил.

P.S. Есть ли вообще защита от "генератора нажатий случайных кнопок"? По-моему только большая вожделенная кнопка "Сделать всё". А посему, моё глубокое убеждение, что от пользователя тоже нужно требовать понимания происходящего и профессионализма. А то доживем до времен, когда работодатель скажет: "Да не будем мы брать программиста на работу, а то он такого напрограммирует...". Так зачем брать на работу такого бухгалтера или оператора? (Заранее согласен, что это не соответствует действительности, а жаль).
12. Ярослав Юнка (y22-k) 209 01.06.10 15:55 Сейчас в теме
Типовая торговля 10.3.
Заполняю Заказ покупателя на основании заказа покупателя (Да так надо) вылетает ошибка при нажатии на кнопку Выплнить и выбора ТЧ товары.
ТЧ_Источник = ПустоеЗначениеТипа(ТипЗначения)[мИмяТЧ].Выгрузить();
13. moon river (mrdc) 06.11.10 12:45 Сейчас в теме
Аналогичная ошибка при заполнении "Инвентаризации товаров на складе" (делаем "Добавить из объекта" - выбираем "Инвентаризация товаров на складе" - Подбор - выбираем документ из списка - Ок - нажимаем "Выполнить" - "Товары" - вылетает окошко с ошибкой "Получение элемента по индексу для значения не определено" - нажимаем "Подробно...":

{Форма.ФормаПереноса(517)}: Получение элемента по индексу для значения не определено
ТЧ_Источник = ПустоеЗначениеТипа(ТипЗначения)[мИмяТЧ].Выгрузить();