8.х Как организовать проверку

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем sin_lgm, 23 июн 2010.

  1. TopicStarter Overlay
    sin_lgm
    Offline

    sin_lgm

    Регистрация:
    19 окт 2009
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, все!

    Моих скудных знаний не хватает для того ,чтобы организовать проверку!
    Есть РС, в измерениях: организация и номенклатура, в ресурсах - номенклатурная группа УУ(ну вот такой, ну что тут скажешь, не мной придуман :unsure: ) Нужно загнать туда соответствующие данные. Информации много , порядка 30 тысяч записей, связывать по одной записи - очень неохота. Пишу обработку и столкнулась вот с чем. Номенклатура имеет характеристику Номенклатурная группа (обычная). И перевернув, всё, что относится к этой обычной группе можно разом отнести к номенклатурной группе УУ.
    вот код, который я написала(добавление по группе) и как проверить, есть ли такая информация уже в РС я не знаю :smile:

    Организация = Справочники.Организации.НайтиПоКоду("000000001");
    Если (ЭлементыФормы.НоменГруппы.ОтметкаНезаполненного)или (ЭлементыФормы.НоменГруппыУУ.ОтметкаНезаполненного)
    Тогда
    Сообщить("Не все данные введены!!!");
    Возврат;
    КонецЕсли;
    КоличествоЗаписей = 0;
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | Номенклатура.Ссылка,
    | Номенклатура.Наименование,
    | Номенклатура.Артикул
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.Родитель В ИЕРАРХИИ(&группа)
    | И Номенклатура.НоменклатурнаяГруппа.Код = &код";
    Запрос.УстановитьПараметр("Группа",Справочники.Номенклатура.НайтиПоНаименованию("**ПРОДУКЦИЯ"));
    Запрос.УстановитьПараметр("Код", НоменГруппы.Код);
    Результат = Запрос.Выполнить();
    Если Результат.Пустой() Тогда
    Сообщить("По выбранной номенклатурной группе нет данных для обработки!");
    Возврат
    КонецЕсли;

    ВыборкаНоменклатуры = Результат.Выбрать();
    НаборЗаписей = РегистрыСведений.ГМС_СоответствиеНоменклатурыИНоменклатурнымГруппамУпр.СоздатьНаборЗаписей();

    Пока ВыборкаНоменклатуры.Следующий() Цикл
    НоваяЗапись = НаборЗаписей.Добавить();
    НоваяЗапись.Период = ДатаЗаполнения;
    НоваяЗапись.Организация = Организация;
    НоваяЗапись.Номенклатура = ВыборкаНоменклатуры.Ссылка;
    НоваяЗапись.НоменклатурнаяГруппаУУ = НоменГруппыУУ.Ссылка;
    КоличествоЗаписей = КоличествоЗаписей + 1;
    КонецЦикла;
    НаборЗаписей.Записать();
    ЭлементыФормы.КолвоЗап.Значение = "По НГ "+НоменГруппы.Наименование+" кол-во записей ="+КоличествоЗаписей;

    КонецЕсли;
  2. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    1. Для оформления кода есть соответствующий тэг.
    2. А зачем проверять? У набора записей при использовании "Записать" есть параметр, будет ли производиться перезапись значений или нет.
  3. TopicStarter Overlay
    sin_lgm
    Offline

    sin_lgm

    Регистрация:
    19 окт 2009
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    извините, вы совершенно правы на счет кода, я когда отправила, только тогда и спохватилась.

    Да, перезапись я произвожу. регистр периодический (по кварталам), поэтому в течении квартала, записи соответственно переписываются. Однако, если создавать записи в регистре в интерфейсе 1С, т.е. через операции нахожу нужный регистр, открываю, создаю запись, заполняю и хочу записать. Мне выходит сообщение, что такая продукция в регистре уже имеется. Как организована эта проверка я не нашла, а с меня её требуют :unsure:
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Это системная проверка, т.е. отдельного кода нет. При создании записи интерактивно, запись всегда добавляется, её нельзя перезаписать, как в случае програмного создания записи.
  5. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Непонятна задача. Сообщение же итак появляется. Какую проверку вы хотите?

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