Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как передать параметр в алгоритм?          
Kutuzov Подменю пользователя
сообщение 22.01.13, 18:28
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 328
Из: Одесса
Спасибо сказали: 144 раз
Рейтинг: 0

Алгоритм пытаюсь вызвать в "ПравилоВыгрузкиДанныхПередОбработкой"
 
Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ
|НАЧАЛОПЕРИОДА(ЛМБ_РеестрФинансовыхОпераций.Дата, ДЕНЬ) КАК ДатаДень,
|ЛМБ_РеестрФинансовыхОпераций.Филиал
|ИЗ
|Документ.ЛМБ_РеестрФинансовыхОпераций КАК ЛМБ_РеестрФинансовыхОпераций
|ГДЕ
|ЛМБ_РеестрФинансовыхОпераций.Дата МЕЖДУ &НачДата И &КонДата
|СГРУППИРОВАТЬ ПО
|ЛМБ_РеестрФинансовыхОпераций.Филиал,
|НАЧАЛОПЕРИОДА(ЛМБ_РеестрФинансовыхОпераций.Дата, ДЕНЬ)";
Запрос.УстановитьПараметр("НачДата",ДатаНачала);
Запрос.УстановитьПараметр("КонДата",ДатаОкончания);

Выборка = Запрос.Выполнить().Выбрать();
ИсходящиеДанные = Новый Структура;

Пока  Выборка.Следующий() Цикл
    ДатаДень = Выборка.ДатаДень; // Вот тот параметр который мне надо
    Выполнить(Агоритмы.ГрПредметовВО); //ошибка выскакивает вот тут
    ИсходящиеДанные.Вставить("Дата", Выборка.ДатаДень);
    ИсходящиеДанные.Вставить("колВещДоговоров", ГрПредметовВО);

    ВыгрузитьПоПравилу(, , ИсходящиеДанные ,, "ОперацияБухФилиал");
    
КонецЦикла;


мне нужно передать параметр в алгоритм
Как вызвать алгоритм если не через команду выполнить()
при попытке выгрузки вот такая ошибка
Цитата
Ошибка в обработчике события ПередОбработкойПравилаВыгрузки
ПВД = ЛМБ_РеестрФинансовыхОпераций
Обработчик = ПередОбработкойВыгрузкиДанных
ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода
ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML(10437)
КодСообщения = 31



 ! 

Правила, п. 5
 


Сообщение отредактировал Vofka - 22.01.13, 19:33


Signature
Вы станете богаче, лишь став умнее...
Чем дальше в лес, тем толще партизаны.
Нельзя недооценивать, не предсказуемость тупизны...

Kutuzov Подменю пользователя
сообщение 23.01.13, 10:26
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 328
Из: Одесса
Спасибо сказали: 144 раз
Рейтинг: 0

Кто может подсказать, подскажите. icon_beer17.gif


Signature
Вы станете богаче, лишь став умнее...
Чем дальше в лес, тем толще партизаны.
Нельзя недооценивать, не предсказуемость тупизны...

Tonik992 Подменю пользователя
сообщение 30.03.13, 9:36
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Kutuzov @ 23.01.13, 11:26) *
Кто может подсказать, подскажите. icon_beer17.gif


Решение нашлось? Мне интересно, потому что я сталкивался с подобной проблемой, и обошел её несколько другим подходом

Evld Подменю пользователя
сообщение 30.03.13, 23:24
Сообщение #4

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

Можно через глобальные параметры, которые задаются с справочнике "Конвертации" на закладке "Параметры"
(в типовых так делают)...

koklobok Подменю пользователя
сообщение 12.06.13, 7:36
Сообщение #5

Молчаливый
*
Группа: Пользователи
Сообщений: 2
Спасибо сказали: 0 раз
Рейтинг: 0

Есть два варианта
1) Использовать те же наименования переменных в коде вызова алгоритмов и в самых алгоритмах. Например, для вашего случая в алгоритме ГрПредметовВО использовать ДатаДень
2) Использовать дополнительный параметр-структуру ПараметрыАлгоритмов: при вызове алгоритма
Параметры.ПараметрыАлгоритмов.Вставить("ДатаДень", ДатаДень);
-------------
в самом алгоритме
ДатаДень = Параметры.ПараметрыАлгоритмов.ДатаДень;

В первом случае меньше гемороя с перекидкой параметров в алгоритмы, зато во втором случае возможна отладка алгоритмов как процедур, так что если алгоритмов немного и они вызываются несколько раз проще использовать первый вариант с отладкой алгоритмов по месту вызова.

Elstan Подменю пользователя
сообщение 31.10.13, 9:51
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 19
Спасибо сказали: 18 раз
Рейтинг: 0

В типовых обычно называют переменные так же, как и в алгоритмах - и тогда всё отлично передается. По-моему, передавать через Параметры немного костыльно.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 05.06.24, 5:39
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!