|
Помогите переписать функцию под Управляемеое приложение |
☑ |
0
НикДляЗапросов
21.11.13
✎
11:22
|
&НаКлиенте
Процедура Команда1(Команда)
Объект.Заказ.Очистить();
ТЗ = Новый ТаблицаЗначений;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Организация", Объект.Организация);
Запрос.УстановитьПараметр("Контрагент", Объект.Контрагент);
Если Объект.Рабочая=1 Тогда
Запрос.УстановитьПараметр("Дата", РабочаяДата);
Иначе
Запрос.УстановитьПараметр("Дата",Объект.Заказ);
КонецЕсли;
Запрос.Текст =
"ВЫБРАТЬ
| ЧасОстатки.КоличествоОстаток КАК Количество,
| ЧасОстатки.СуммаОстаток КАК Сумма,
| ЧасОстатки.Контрагент,
| ЧасОстатки.ТипЧаса КАК ТипЧаса,
| ЧасОстатки.Номенклатура КАК Наряд
|ИЗ
| РегистрНакопления.Час.Остатки(
| &Дата,
| Контрагент = &Контрагент
| И Организация = &Организация) КАК ЧасОстатки";
ТЗ=Запрос.Выполнить().Выгрузить();
Для Каждого ТекСтрока Из ТЗ Цикл
Строка=Объект.Заказ.Добавить();
Строка.ТипЧаса=ТекСтрока.ТипЧаса;
Строка.Наряд=ТекСтрока.Наряд;
Строка.Количество=ТекСтрока.Количество;
Строка.Сумма=ТекСтрока.Сумма;
КонецЦикла;
КонецПроцедуры
{Документ.НарядЗаказ.Форма.ФормаДокумента1.Форма(390,13)}: Тип не определен (ТаблицаЗначений)
ТЗ = Новый <<?>>ТаблицаЗначений;
{Документ.НарядЗаказ.Форма.ФормаДокумента1.Форма(391,17)}: Тип не определен (Запрос)
Запрос = Новый <<?>>Запрос;
|
|
1
Лодырь
21.11.13
✎
11:25
|
&НаСервере
Процедура ПроцедураНаСервере()
// Тут твой код
КонецПРоцедуры
&НаКлиенте
Процедура Команда1(Команда)
ПроцедураНаСервере();
КонецПроцедуры
|
|
2
hhhh
21.11.13
✎
11:27
|
(0) ну, вместо &Наклиенте пишете &НаСервере
в начале процедуре вставляете
ДокументОбъект = РеквизитФормыВЗначение("Объект");
и потом везде вместо Объект пишете ДокументОбъект.
Хотя к реквизитам примитивного типа (строка, число, дата, булево, СправочникСсылка) можете обращаться как и раньше, через Объект.
|
|
3
WildSery
21.11.13
✎
11:38
|
(0) Всегда раздражает
ТЗ = Новый ТаблицаЗначений;
ТЗ = Запрос.Выполнить().Выгрузить();
зачем тут новый, если он новый и так создаётся методом выгрузить()
А недавно в ступор вогнала конструкция
ТЗ = Запрос.Выполнить().Выгрузить().Скопировать();
|
|
4
НикДляЗапросов
21.11.13
✎
11:40
|
(3) Код не мой, но ТЗ = Новый ТаблицаЗначений; это нормально, сразу ясно новая переменая
|
|
5
WildSery
21.11.13
✎
11:44
|
(4) А по мне так ненормально создавать в памяти объекты, на которые нет ссылок.
Хоть оно автоматически и удалится при выходе из процедуры, но меня как программиста и перфекциониста это выводит из гармонии.
|
|
6
Asmody
21.11.13
✎
11:49
|
(5) зато 1Совский "телепат" понимает тип переменной и подсказывает нужные методы
|
|
7
RomaH
naïve
21.11.13
✎
11:50
|
(5) зато контекстная подсказка работает
|
|
8
Infsams654
21.11.13
✎
12:17
|
(4) если в тонком, то там ТЗ нет.
|
|
9
Infsams654
21.11.13
✎
12:17
|
(8) + на клиенте
|
|