Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 апр 2024, 00:42

Помогите новичку! Пожалуйста

Автор Ted, 19 янв 2011, 17:15

0 Пользователей и 1 гость просматривают эту тему.

Ted

Процедура ЗаполнитьТЧПриходныеКассовыеОрдера()

СписокСтатусов = Новый Массив;
    СписокСтатусов.Добавить(Перечисления.СтатусыОтгрузки.КОтгрузке);
Запрос =  Новый  Запрос;
Запрос.Текст =
       
                 "ВЫБРАТЬ
         |    КП_МаршрутныйЛистРеализацииТоваровУслуг.РеализацияТоваровУслуг КАК Реализация,
         |    КП_МаршрутныйЛистРеализацииТоваровУслуг.РеализацияТоваровУслуг.ЗаказКлиента КАК Заказ,
         |    КП_МаршрутныйЛистРеализацииТоваровУслуг.РеализацияТоваровУслуг.СуммаВзаиморасчетов КАК Сумма,
         |    КП_МаршрутныйЛистРеализацииТоваровУслуг.РеализацияТоваровУслуг.КП_СуммаВзаиморасчетовПоНеоплаченнымЗалогам КАК СуммаВзаиморасчетов
         |ИЗ
         |    Документ.КП_МаршрутныйЛист.РеализацииТоваровУслуг КАК КП_МаршрутныйЛистРеализацииТоваровУслуг
         |ГДЕ
         |    КП_МаршрутныйЛистРеализацииТоваровУслуг.Ссылка = &Ссылка
         |    И КП_МаршрутныйЛистРеализацииТоваровУслуг.РеализацияТоваровУслуг.ЗаказКлиента.Статус <> &СтатусОтгрузкиОтменен";
         
        Запрос.УстановитьПараметр("Ссылка",Объект.МаршрутныйЛист.Ссылка);
        Запрос.УстановитьПараметр("СтатусОтгрузкиОтменен", Перечисления.СтатусыЗаказовКлиентов.КП_Отменен);
        Выборка = Запрос.Выполнить().Выбрать();
       
        Пока Выборка.Следующий()  Цикл
           
           
           
           
НоваяСтрока = Объект.ПриходныеКассовыеОрдера.Добавить();

НоваяСтрока.Реализация=Выборка.Реализация;                     
НоваяСтрока.Заказ = Выборка.Заказ;

НоваяСтрока.СуммаВзаиморасчетов  = Выборка.Сумма;

  НоваяСтрока.СуммаВзаиморасчетовПоЗалогам          = Выборка.СуммаВзаиморасчетов;
 
КонецЦикла;

КонецПроцедуры

Но у меня вообще теперь ни чего не заполняет, при любом статусе

progmikon

Можно услышать внятный вопрос?

SupremeMax

Здравствуйте! Я начинающий программист (всего месяц), работаю в версии 8.2, требуется ваша неоценимая помощь! Имеется ИЕРАРХИЧЕСКИЙ справочник "Сотрудники", состоящий из 2х групп: Работающие и Уволенные. Справочник состоит из 4х колонок: Код, Наименование(имеется ввиду ФИО сотрудника), Дата рождения, Процент премии. Мне необходимо выполнить отбор по Дате рождения, т.е. в соответствующих полях я назначаю интервал дат, в соответствии с которым при нажатии кнопки "Вывести" на печать будет выведен список сотрудников, чьи даты рождения входят в назначенный пользователем интервал. Для того, чтобы лучше понять мой вопрос, в прикрепленных файлах имеются картинки. Я вписывал следующий код:

Процедура ВывестиНажатие(Элемент)
    ТабДок = Новый ТабличныйДокумент;
    Макет = Справочники.Сотрудники.ПолучитьМакет("Печать");
    // Заголовок
    Область = Макет.ПолучитьОбласть("Заголовок");
    ТабДок.Вывести(Область);
    //Шапка
    Область = Макет.ПолучитьОбласть("Шапка");
    ТабДок.Вывести(Область);
    ДатаРождения = СправочникСписок.Отбор.ДатаРождения;
     Если ДатаРождения.Использование = Истина Тогда
         СтруктураОтбора = Новый Структура("ДатаРождения", ДатаРождения.Значение);
         КонецЕсли;
        Выборка = Справочники.Сотрудники.ВыбратьИерархически(С,По1,"возр");
    Группа = Макет.ПолучитьОбласть("Группа");
    Элемент = Макет.ПолучитьОбласть("Элемент");
    Пока Выборка.Следующий()= Истина Цикл
        Если Выборка.ЭтоГруппа Тогда
        Область = Макет.ПолучитьОбласть("Группа");
    Группа.Параметры.Код = Выборка.Код;
    Группа.Параметры.Наименование = Выборка.Наименование;
   Группа.Параметры.ДатаРождения = Выборка.ДатаРождения;
   Группа.Параметры.ПроцентПремии = Выборка.ПроцентПремии;
   ТабДок.Вывести(Группа);
Иначе
    Область = Макет.ПолучитьОбласть("Элемент");
    Элемент.Параметры.Код = Выборка.Код;
    Элемент.Параметры.Наименование = Выборка.Наименование;
   Элемент.Параметры.ДатаРождения = Выборка.ДатаРождения;
   Элемент.Параметры.ПроцентПремии = Выборка.ПроцентПремии;
   ТабДок.Вывести(Элемент);
   КонецЕсли;

    КонецЦикла;

    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.Защита = Ложь;
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.ОтображатьЗаголовки = Ложь;
    ТабДок.Показать();

    КонецПроцедуры

При нажатии кнопки "Вывести" в режиме исполния мне выдается следующая ошибка:

{Справочник.Сотрудники.Форма.ФормаСписка.Форма(159)}: Ошибка при вызове метода контекста (ВыбратьИерархически): Несоответствие типов (параметр номер '1')
Выборка = Справочники.Сотрудники.ВыбратьИерархически(С,По1,"возр");
по причине:
Несоответствие типов (параметр номер '1')

Подскажите, пожалуйста, что я делаю непарвильно?

Sinsinmin

Как я понимаю ошибка в первом параметре "С". Вы его как то определили? ctrl+shift+F1 есть отличная справка с описанием методов.

cska-fanat-kz

Вот здесь ваще не понятно:
"Выборка = Справочники.Сотрудники.ВыбратьИерархически(С,По1,"возр");"

Первый параметр - родитель
Второй - владелец
Их вам задавать по идее не надо, то есть как минимум должно быть:
"Выборка = Справочники.Сотрудники.ВыбратьИерархически( , ,"возр");"
Далее.
Третий параметр - отбор. И уж не как не "возр", а например Ваша вышеупомятнутая СтруктураОтбора. То есть наверное так:
"Выборка = Справочники.Сотрудники.ВыбратьИерархически( , , СтруктураОтбора,"возр");"
Далее.
Последний параметр - порядок. Не просто "возр", а имя реквизита. По возрастанию и так по умолчанию сортирует. То есть окончательно примерно так:
"Выборка = Справочники.Сотрудники.ВыбратьИерархически( , , СтруктураОтбора,"Наименование");"

А вообще... Лучше все это выбрать запросом. Например таким:
ВЫБРАТЬ
   ФизическиеЛица.Ссылка,
   ФизическиеЛица.Представление КАК Представление
ИЗ
   Справочник.ФизическиеЛица КАК ФизическиеЛица
ГДЕ
   ФизическиеЛица.ДатаРождения МЕЖДУ &ДатаНач И &ДатаКон

УПОРЯДОЧИТЬ ПО
   ФизическиеЛица.Наименование

СтОит еще учесть 8.2... Могут быть свои заморочки.
Запрос писал на 8.1
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Dmitry_vl_b

Парни, вопрос может быть лузерский, но тем не менее:
Я создал иерархический справочник(Товар) с реквизитами и табличной частью.
Вопрос в том КАК заполняется табличная часть справочника?

Klyacksa

Зависит от того, что должно быть в этой табличной части и из каких данных ее заполнять :)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Dmitry_vl_b

Ну в конфигураторе я сделал перечисления, а в свойствах табличных частей сделал ссылки на эти перечисления, но это неважно. Я не могу понять где открывается окошко для заполнения табличной части справочника )

progmikon

Цитата: Dmitry_vl_b от 01 фев 2011, 15:14
Парни, вопрос может быть лузерский, но тем не менее:
Я создал иерархический справочник(Товар) с реквизитами и табличной частью.
Вопрос в том КАК заполняется табличная часть справочника?

Если заполнять должен пользователь визуально, то в форме элемента справочника. Или вам программно нужно?

Dmitry_vl_b

Нет, не программно! А Что значит форма элемента? Это где :-?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск