gifts2017

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

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

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

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

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

 

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

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

Действия

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

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

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

 

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

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

 

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

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

 

Выбор поля

 

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

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

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение

Комментарии

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

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

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

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

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