8.х Обработка в конструкторе

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Ксюша_52, 18 дек 2009.

  1. TopicStarter Overlay
    Ксюша_52
    Offline

    Ксюша_52

    Регистрация:
    18 дек 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Пожайлусто помогите никак не могу здать 1 с((((

    Напишите обработку,создающую программным способом:
    1) Новую группу в справочнике "Номенклатура" с наименованием "ГСМ".
    2) Новый элемент справочника "Номенклатура" , входящий в эту группу: Код - 120; Наименование - "Бензин А76"; ЦенаПокупки - 21.00 р;

    Никак не могу написать обработку в режиме модуля обьекта, чтобы в пользовательском режиме обработкак сформировывалась!





    Заранее большое спасибо)
  2. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    :unsure: :smile: :aua: Вы опасный человек, Ксюша.
    Код:
    // это раааааааааааз
    Группа = Справочники.Номенклатура.СоздатьГруппу();
    Группа.Наименование = "ГСМ";
    Группа.Записать();
    
    // это двааааааааааааа
    Элемент = Справочник.Номенклатура.СоздатьЭлемент();
    Элемент.Родитель = Группа.Ссылка;
    Элемент.Код = "120";
    Элемент.Наименование = "Бензин А76";
    // если цена - это реквизит
    Элемент.ЦенаПокупки = 21;
    Элемент.Записать();
    
  3. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Скоро вопросы по сдаче спеца пойдут....
  4. TopicStarter Overlay
    Ксюша_52
    Offline

    Ксюша_52

    Регистрация:
    18 дек 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    А вот еще такая задачька,кому не трудно,плиз):

    Написать обработку,которая определяет общую сумму всех документов "ПродажаТоваров" за текущий год

    Тоже в модуле обьекта


    спасибо всем кто отозвался на просьбу!
  5. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ксюша, вы действительно опасный человек. Документ так и называется ПродажаТоваров или он все еж называется РеализацияТоваровиУслуг?
  6. Draco
    Online

    Draco Модераторы Команда форума Модератор

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

    Второй вариант оставлю X_under.
  7. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    ага, по регистру так еще и объектным способом :)
    зы по группировкам обязательно обходить? итог вроде первая запись будет
  8. Абырвалг
    Offline

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    Фпихну свои 5 :)
    Ну можно обойтись агрегатной функцией Сумма() и не вытаскивать в результат запроса все суммы всех документов за весь год:
    Код:
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    Сумма(РеализацияТоваровУслуг.СуммаДокумента) КАК СуммаДокумента
    |ИЗ
    |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    |    РеализацияТоваровУслуг.Проведен
    |    И РеализацияТоваровУслуг.Дата МЕЖДУ &НачПериода И &КонПериода";
    
    Запрос.УстановитьПараметр("КонПериода", КонецГода(ТекущаяДата()));
    Запрос.УстановитьПараметр("НачПериода", НачалоГода(ТекущаяДата()));
    
    Выборка = Запрос.Выполнить().Выбрать();    
    ОбщаяСумма = ?(Выборка.Следующий(), Выборка.СуммаДокумента, 0);    
    
    
    
    
  9. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    2 Абырвалг: Ты же видишь, что Ксюша кодер еще тот :lol: А в это случае разницы особой нет.
  10. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Именно исходя из этого и писал а то по сточке ОбщаяСумма = ?(Выборка.Следующий(), Выборка.СуммаДокумента, 0) точно спалять что не она писала
  11. Абырвалг
    Offline

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    x_under
    Вижу :), согласен, разницы вообще никакой нет :)
    Draco
    Та лучше бы её спалили, тогда может появится желание читать методичку или лекции, а то так медвежья услуга получается, так ничему и не научится, но всё сдаст :)
    Ксюша_52
    Открой секрет, ты стажировку во франче проходишь? :)
  12. Абырвалг
    Offline

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    оффтоп:
    Почему-то мне кажется что опасный бот под ником Ксюша_52 до запросов еще не дошел судя по первым заданиям и ему нужен следующий код:
    Код:
    ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать(НачалоГода(ТекущаяДат()), КонецГода(ТекущаяДат()));
    ОбщаяСумма = 0;
    Пока ВыборкаДокументов.Следующий() Цикл
    ОбщаяСумма = ОбщаяСумма + ВыборкаДокументов.СуммаДокумента;
    КонецЦикла;
    
    
    :unsure:
  13. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Жесть, все заканчиваем глумиться. ХОТЯ МЫСЛЬ ПРАВИЛЬНАЯ - МЕТОДИЧКА И МЕНЬШЕ ЯГУЛЯРА
  14. Абырвалг
    Offline

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    И МЕНЬШЕ ЯГУЛЯЛА
    :unsure: :smile: :aua:
  15. TopicStarter Overlay
    Ксюша_52
    Offline

    Ксюша_52

    Регистрация:
    18 дек 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Хах)) постебались и хватит! У меня препод кантуженый,а корочка нужна! Он обьесняет так что как будто это 2+2)) Вот опять сегодня задали сделать при нем " Написать обработку,которая выводит иерархический список всех товаров из справочника "Номенклатура" и их едениц измерения"? Сижу опять и не могу в модуле написать чтобы выводилось в пользовательский режим. Я не спорю,это не С++ где все на английском писать команды,но я это не перевариваю((( вот к вам как к прфи и оброщаюсь за помощью

Поделиться этой страницей