Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Программирование 1С
(Модераторы:
Harry
,
Kivals
,
Naghual
) > Тема:
1c7 Начинающему нужна помощь!
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: 1c7 Начинающему нужна помощь! (Прочитано 6465 раз)
0 Пользователей и 1 Гость смотрят эту тему.
bezdna
Гость
1c7 Начинающему нужна помощь!
«
:
23-07-2009 05:04 »
Здравствуйте!
Необходимо в цикле запроса получить значение переменной запроса , и дальше его использовать
Привожу код в комментарии указано где именно. Если значение подствляю явно всё рабо//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Обрабатывать НеПомеченныеНаУдаление;
|Код = Справочник.Номенклатура.Код;
|ТекущийЭлемент = Справочник.Номенклатура.ТекущийЭлемент;
|Артикул = Справочник.Номенклатура.Артикул;
|КодПоставщика = Справочник.Номенклатура.КодПоставщика;
|ШтрихКод = Справочник.Номенклатура.БазоваяЕдиница.ШтрихКод;
|ШтрихКод2 = Справочник.Номенклатура.ОсновнаяЕдиница.ШтрихКод;
|Условие (Код<1000);
|Группировка Код;
|Группировка ТекущийЭлемент;
|Группировка Артикул;
|Группировка КодПоставщика;
|Группировка ШтрихКод;
|"//}}ЗАПРОС
;
Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");
ТОВ=СоздатьОбъект("СписокЗначений");
Спр=СоздатьОбъект("Справочник.Номенклатура");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()=1 Цикл
Если Спр.ЭтоГруппа()=1 Тогда
Продолжить;
КонецЕсли;
Если (Спр.ПометкаУдаления()=1) Тогда
Продолжить;
КонецЕсли;
ии = 0;
Для ии = 1 По СписокНом.РазмерСписка() Цикл
ТС=СписокНом.ПолучитьЗначение(ии);
Если ТС.ЭтоГруппа()=1 Тогда
Если Спр.ПринадлежитГруппе(ТС)=1 Тогда
ТОВ.ДобавитьЗначение(Спр.ТекущийЭлемент());
КонецЕсли;
Иначе
ТОВ.ДобавитьЗначение(ТС);
КонецЕсли;
КонецЦикла;
КонецЦикла;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Ном=0;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Спр=СоздатьОбъект("Справочник.Номенклатура");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Код
Пока Запрос.Группировка(2) = 1 Цикл
// Заполнение полей ТекущийЭлемент
// Сообщить("ТекущийЭлемент " + ТекущийЭлемент);
Пока Запрос.Группировка(3) = 1 Цикл
// Заполнение полей Артикул
Пока Запрос.Группировка(4) = 1 Цикл
// Заполнение полей КодПоставщика
Пока Запрос.Группировка("ШтрихКод") = 1 Цикл
Ном=Ном+1;
// Заполнение полей ШтрихКод
Если ПустоеЗначение(Запрос.ШтрихКод2) = 1 Тогда
// Сообщить("ТЗ Штрихкод "+ПустоеЗначение(ТЗ.Штрихкод) + " 1 " + ТЗ.ШтрихКод2);
ШтрихКод3=Запрос.ШтрихКод
Иначе ШтрихКод3=Запрос.ШтрихКод2
КонецЕсли;
Таб.ПолучитьСекцию("ШтрихКод");
ТекущаяАктивнаяОбласть=Таб.Область("R"+3,"C"+2);
Код1=ТекущаяАктивнаяОбласть.Текст;
Сообщить("Код "+Код1);
С1=СоздатьОбъект("Справочник.Номенклатура");
// С1.НайтиПоКоду("15769");
// Код=Как присвоить значение текущего поля Код оно находится вторым по счёту в текущей секции?
// Впринципе это нужно для того чтобы получить значение розничной цены
// С1.НайтиПоНаименованию(Код);
Ссылка = С1.ТекущийЭлемент();
С=СоздатьОбъект("Справочник.Цены");
С.ИспользоватьВладельца(Ссылка);
С.ИспользоватьДату(ТекущаяДата());
С.ТекущийЭлемент();
Конст=Константа.РозничныйТипЦен;
С.ВыбратьЭлементы();
Пока С.ПолучитьЭлемент()=1 цикл
Сообщить("Есть элементы в цикле!!!");
Если С.ТипЦен=Конст Тогда
Розница=С.Цена;
Сообщить("Розничная цена "+Розница);
Прервать;
КонецЕсли;
КонецЦикла;
Таб.ВывестиСекцию("ШтрихКод");
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецЦикла;
тает.
Записан
Kivals
Модератор
Offline
Пол:
Re: 1c7 Начинающему нужна помощь!
«
Ответ #1 :
23-07-2009 08:34 »
1. Опиши что ты хочешь получить
2. Возьми код в тег [ code][/ code] (без пробелов)
3.
Код:
// Код=Как присвоить значение текущего поля Код оно находится вторым по счёту в текущей секции?
Код=Запрос.Код;
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Программирование 1С
(Модераторы:
Harry
,
Kivals
,
Naghual
) > Тема:
1c7 Начинающему нужна помощь!
Загружается...