#0
by Wobland
продолжаю открывать для себя КД. сделал себе алгоритм СвернутьПоНоменклатуре, при выгрузке некоторых документов он вызывается, ТЧ сворачивается, всё хорошо. а при выгрузке некоторых других документов нужен чуть другой текст запроса. что придумал: перед обработкой засовываю в Параметры флаг НужнаСтавкаНДС, а в алгоритме достаю этот флаг из Параметров и меняю текст запроса. собссно, вопрос: а как поступают белые люди в подобных ситуациях?
#1
by fisher
Примерно так и делают. Если нужны входящие параметры для алгоритмов (аналог функций), то обычно в параметры добавляется отдельный параметр для этих целей типа структура ("ПараметрыАлгоритмов", например). Через который передача и идёт. Динамический текст запроса - тема отдельная. По возможности стараются делать так, чтобы текст базового запроса таки можно было открывать конструктором.
#2
by pessok
а может лучше не в структуру параметров пихать, а иметь некий глобальный обработчик, который будет проверять реквизит, а-ля. ЕстьРеквизитВТабличнойЧасти(СтрокаТабличнойЧасти)? З.Ы. Сам не пробовал, ответ по наитию
#3
by Wobland
>то обычно в параметры добавляется отдельный параметр это сейчас о чём? есть же "предопределённая" структура Параметры, её разве мало? про запрос согласен, да. но у меня на входе семёрка
#4
by Wobland
что приведёт к дополнительным вызовам и увеличению времени работы. при нескольких сотнях документов только поступлений в день веду борьбу за миллисекунды ;)
#6
by fisher
Ну и нафига корень этой структуры засорять всякой фигней? Просто вопрос удобства. Работаешь не через Параметры, а через Параметры.ПараметрыАлгоритмов. Пока один такой параметр - вроде без разницы. А завтра их может быть сотня.
#7
by Wobland
ладно. а что живёт в Параметрах тогда? могу соврать, точно не помню, но вроде там ничего не было в перед обработкой
#9
by Wobland
вот я такое же представление об этом получил. но придерживается другого мнения, мне непонятного
#10
by fisher
Я не понимаю, почему мы друг друга не понимаем. Идея-то примитивная и лежащая на поверхности - путем создания вложенной в "Параметры" структуры, выделить параметры алгоритмов в отдельное пространство имен. Задолбали :) Юзайте как хотите.
#13
by Wobland
Параметры - Структура, в которой хранятся переменные доступные во всех обработчиках зачем там ещё одна вложенная структура?
#14
by pessok
опередил! я тоже хотел спросить зачем одну структуру помещаьт в другую в данном разрезе. или чтобы просто было наглядно?
#15
by fisher
Чтобы избежать потенциальных конфликтов пространств имен. Эти ошибки очень неприятные и трудно локализуемые. Зря, что ли, 1С пыталась отучить от глобальных переменных? Забудешь ты рано или поздно про свои параметры алгоритмов, которые там и сям программно суешь в "Параметры". И создашь одноименный параметр для совершенно других целей. И огребешь. А так - параметры алгоритмов изначально изолированы от всех остальных параметров. Считай, что вместо глобального модуля ты создал специальный общий модуль. Надеюсь, что аналогия ясна. Я и так уже сказал в пять раз больше, чем собирался :)
#16
by GenV
Стараюсь динамически текст запроса не менять - обхожусь передачей параметров в запрос или несколькими запросами. Параметры добавляю в подструктуру с именем "Параметры_ИмяАлгоритма", если параметров много.
#19
by Wobland
вижу параметры в скобках.. это типа "предопределённые"? в хелпе вроде как обо этом не говорится
#23
by Йохохо
помойму этого нет в хелпах, алгоритмы в 7.7 выгружаются с такой декларацией Функция ЗаполнитьТЗСотрудникаОрганизации(
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Перенос данных КД.2.0 (особенность конвертации)
- КД. Глюки.
- КД 2.0. Как проводить документы после загрузки?
- КД. Не загружаются параметры из правил обмена
- Параметры выбора + параметры динамического списка
- написал свои правила с помощью КД. А как туда передать параметры?
- КД 2.0 или КД 3.0
- КД 3.0 или КД 2.0
В этой группе 1С
- v7: ТиС документ Перемещение ТМЦ
- Я в тупике. СКД криво считает конечный остаток. Я всё изучил но не могу понять.
- Управляемая форма. Колонка табл.части. ПередНачаломИзменения() не работает.
- Изменить регистр в обход даты запрета редактирования
- NULL в валюте
- Управляемые формы. Как редактировать РС в списке?
- Вопрос по ТО. Фискальный регистратор, запись логов.
- v7: Вывод из файла прописи EUR большими буквами.
- Как изменить цвет ячейки?
- СКД использование временной таблицы
- Помогите с настройкой iis
- Блокировка файловой информационной базы
- Стоимостная оценка склада. Лишние остатки.
- ЗУП-Приказы о поощрении Т-11. Помогите!
- v8: перечисления на клиенте 8.2
- Веб-клиент. Командная панель 1С
- Не срабатывает кнопка выбор (F4) на 1ПК и только для 1 юзера??
- Сбой обмена данными
- Как восстановить бэкап базы 1с на ms sql server 2008
- бп2. Приходной кассовый ордер не делает проводок