7.7 Помогите написать проверку

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

  1. TopicStarter Overlay
    Tria
    Offline

    Tria

    Регистрация:
    25 авг 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Всем здрасти...Помогите написать проверку, которая должна проверять значения номенклатуры из табличной части на принадлежность к контрагенту, выбранному в форме.
    Вот сопсна мои мысли по коду. Сильно не пинайте - я новичок в этом.


    Поставщик = Форма.ТекстКлиента.Заголовок(глСтрокаКонтрагента(Контекст));

    Пока "нужно запустить обход значений в табличной части" Цикл
    Если "у каждой номенклатурной позиции есть уникальный код, похоже по нему нужно проверять принадлежность" Тогда
    Продолжить;
    Иначе
    Сообщить("Товар не принадлежит поставщику");
    КонецЕсли;
    КонецЦикла;
  2. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    тяжелая постановка задачи..
    Код:
    СпрНоменклатуры = СоздатьОбъект("Справочник.Номенклатура");
    Поставщик = Форма.ТекстКлиента.Заголовок(глСтрокаКонтрагента(Контекст));
    ВашаТаблЧасть.ВыбратьСтроки();
    Пока ВашаТаблЧасть.получитьСтроку() = 1 Цикл   
    Если  СпрНоменклатуры.НайтиПоКоду("ВашКод") = 0 Тогда //Тут непонятно как номенклатура может принадлежать поставщику, видимо какойто реквизит
    //Если это реквизит тогда сравни с выбранным поставщиком.Если не оно - выводи свое сообщение
    Сообщить("Товар не принадлежит поставщику");   
    Иначе
    Сообщить("Товар не найден?");   
    КонецЕсли;
    КонецЦикла;
    
  3. TopicStarter Overlay
    Tria
    Offline

    Tria

    Регистрация:
    25 авг 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Спасибо большое за ответ.
    Тут структура справочника номенклатура получается следующая: в самом справочнике находится много групп с названиями поставщиков, в которых и находятся товары. Эту проверку нужно сделать в документе возврата товаров поставщику и поэтому нужно сделать так, чтобы выбранному поставщику невозможно было вернуть "не его" товары.
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Если поставщик это элемент группы то необходимо использовать родителя.
    Код:
    Если Поставщик<>Номенклатура.Ролитель.Поставщик Тогда
    Сообщить("Нельзя возвращать товар!");
    КонецЕсли;
    
    
  5. TopicStarter Overlay
    Tria
    Offline

    Tria

    Регистрация:
    25 авг 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Братцы, спасибо! Уже практически все понятно, НО никак не могу найти как называется эта табличная часть :unsure: Уже весь модуль излазил - ничего не нашел!!! Может подскажите как имя таблицы найти?
  6. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    Так табличная часть на форме или в документе? или где?
  7. TopicStarter Overlay
    Tria
    Offline

    Tria

    Регистрация:
    25 авг 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Табличная часть находится на форме
    Скрин прикрепил

    Вложения:

    • 1111.bmp
      Размер файла:
      780 КБ
      Просмотров:
      31
  8. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    А для чего тебе название ?
    Обращайся напрямую к идентификатору реквизита. Локальное обращение к табличной части не требуется
  9. TopicStarter Overlay
    Tria
    Offline

    Tria

    Регистрация:
    25 авг 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Не совсем понял как это... т.е. если мне нужно сравнить Код товара из табличной части и Код товара из Справочник.Номенклатура...как это записать?
  10. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    В смысле тебе не надо писать
    ТабличнаяЧасть.КодТовара, а просто КодТовара
  11. TopicStarter Overlay
    Tria
    Offline

    Tria

    Регистрация:
    25 авг 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Ну это вобщем-то понятно, только как же без имени таблицы можно запустить обход строк в цикле, ведь записей может быть несколько, точнее их точно будет несколько и для каждой из записей нужно провести проверку по коду товара?
  12. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
    ...
    КонецЦикла;
  13. TopicStarter Overlay
    Tria
    Offline

    Tria

    Регистрация:
    25 авг 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Опс... :unsure: туплю
  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    А зачем гемороиться с циклом? Проверку можно вставить при выборе самой номенклатуры + еще одна при заполнении на основании... Так гараздо удобнее для оператора.
  15. TopicStarter Overlay
    Tria
    Offline

    Tria

    Регистрация:
    25 авг 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    ОК. Всем огромное спасибо! Все получилось
Похожие темы
  1. kolosiha
    Ответов:
    1
    Просмотров:
    949
  2. Dmitrij
    Ответов:
    9
    Просмотров:
    1.839
Загрузка...

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