Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
25 Май 2017, 04:14
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Мое задание, не понимаю как решить, нужна помощь  (Прочитано 1274 раз)

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

Оффлайн Азамат Хубиев

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-12-07
  • Сайт: 
Мне дали задание, с учебы, но я так и не понял, как работает Переменная ТекСтрака, ведедь ей ничего не присвоенно, я подумал может переменная работает и без объявления переменной, потому что эта переменная была объявленна в другой Форме документа, в модуле формы
Вот здесь Указывается Что ТекСтрока=Элементы.Товары.ТекущиеДанные;
Не понимаю..
&НаКлиенте
-----------------------------------------------------
Процедура ТоварыНоменклатураПриИзменении(Элемент)

            ТекСтрока=Элементы.Товары.ТекущиеДанные;

            ТекСтрока.ЕдиницаИзмерения=ПолучитьЕХО(ТекСтрока.Номенклатура);

КонецПроцедуры
-------------------------------------------------------------------
А вот и мое задание:
«Серия» обязателен, если в текущей строке табличной части выбрана номенклатурная позиция с видом «Товар».

При организации проверки серии, для обхода строк табличной части используйте подобную конструкцию:



Для Каждого ТекСтрока Из Товары Цикл

  Серия = ТекСтрока.Серия;

  Номенклатура = ТекСтрока.Номенклатура;

  // другие строки

КонецЦикла;


Оффлайн Азамат Хубиев

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-12-07
  • Сайт: 
Единомышленники, прошу вас помочь..

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 40
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Для Каждого ТекСтрока Из Товары Цикл
Если ТекСтрока.ВидНоменклатуры = "Товар" Тогда
    Если ТекСтрока.Серия = Справочники.СерииНоменклатуры.ПустаяСсылка() Тогда
        Сообщить("В строке №" + ТекСтрока.НомерСтроки + " не заполнена серия номенклатуры",       СтатусСообщения.Внимание);       
        Отказ = Истина;
    КонецЕсли;
КонецЕсли;
КонецЦикла;

Для начала как-то так. Хотя это самый неоптимальный код.

Как переменной присваивается значение - отладчик в помощь.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн Азамат Хубиев

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-12-07
  • Сайт: 
Для Каждого ТекСтрока Из Товары Цикл
Если ТекСтрока.ВидНоменклатуры = "Товар" Тогда
    Если ТекСтрока.Серия = Справочники.СерииНоменклатуры.ПустаяСсылка() Тогда
        Сообщить("В строке №" + ТекСтрока.НомерСтроки + " не заполнена серия номенклатуры",       СтатусСообщения.Внимание);       
        Отказ = Истина;
    КонецЕсли;
КонецЕсли;
КонецЦикла;

Для начала как-то так. Хотя это самый неоптимальный код.

Как переменной присваивается значение - отладчик в помощь.

Скажите пожалуйста, а как правильно?
И еще, отладчик мне не показывает, ничего, всего лишь одно поле, (нельзя провалится в список элементов ТекСтрока)

Оффлайн ilnur75

  • ***
  • Сообщений: 105
  • РЕПУТАЦИЯ: 9
  • КПД: 9%
  • Регистрация: 2016-03-13
  • Сайт: 
  • Профессия: Ученик 1С
Не понимаю..
&НаКлиенте
-----------------------------------------------------
Процедура ТоварыНоменклатураПриИзменении(Элемент)

            ТекСтрока=Элементы.Товары.ТекущиеДанные;

            ТекСтрока.ЕдиницаИзмерения=ПолучитьЕХО(ТекСтрока.Номенклатура);

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

здесь создана переменная ТекСтрока, в которую помещается объект,содержащий данные, находящиеся в строке табличной части, которую нам нужно обработать "Элементы.Товары.ТекущиеДанные".
Это способ записи выноса общего за скобку, чтобы в последующих строках не повторять длинющую запись "Элементы.Товары.ТекущиеДанные".
Это и сделано в данной процедуре, т.е.
вместо "Элементы.Товары.ТекущиеДанные.ЕдиницаИзмерения"
записано коротко "ТекСтрока.ЕдиницаИзмерения"
и аналогично для поля "Номенклатура".
Элементы - это свойство объекта УправляемаяФорма.
Элементы.Товары - это обращение к элементу формы в табличной части Товары
Элементы.Товары.ТекущиеДанные - это обращение к текущим данным по текущей строке таблицы Товары
Элементы.Товары.ТекущиеДанные.ЕдиницаИзмерения - это обращение к данным по текущей строке таблицы Товары в колонке ЕдиницаИзмерения
Элементы.Товары.ТекущиеДанные.Номенклатура - это обращение к данным по текущей строке таблицы Товары в колонке Номенклатура                 

Оффлайн Азамат Хубиев

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-12-07
  • Сайт: 
ilnur75, Вы супер, спасибо за помощь, а еще один маленький вопросик, по передаче параметра, тут передается "Элемент" я думаю, что эта переменная означает Элементы.Товары.ТекущиеДанные. То есть Берется Элемент и передается все что есть в этом элементе? в том числе Таблица "Товары" и соответственно Текущие данные и т. п.

Оффлайн ilnur75

  • ***
  • Сообщений: 105
  • РЕПУТАЦИЯ: 9
  • КПД: 9%
  • Регистрация: 2016-03-13
  • Сайт: 
  • Профессия: Ученик 1С
Когда мы создаем обработчик события ПриИзменении... система сама указывает в скобках текст Элемент ( в единственном числе), потому что в свойствах Управляемой Формы существует коллекция ЭлементыФормы (множественное число, много элементов), а создаем обработчик событий для одного выбранного нами Элемента, путь к которому и описывается в виде например  Элементы.Товары.ТекущиеДанные.Номенклатура (путь из всех данных коллекции элементов формы к значению (элементу) в конкретной колонке Номенклатура в текущей строке в таблице Товары , напоминает "каталог в виде дерева") и далее описывается сам обработчик события (процедура либо функция).   

Оффлайн Азамат Хубиев

  • *
  • Сообщений: 18
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-12-07
  • Сайт: 
Когда мы создаем обработчик события ПриИзменении... система сама указывает в скобках текст Элемент ( в единственном числе), потому что в свойствах Управляемой Формы существует коллекция ЭлементыФормы (множественное число, много элементов), а создаем обработчик событий для одного выбранного нами Элемента, путь к которому и описывается в виде например  Элементы.Товары.ТекущиеДанные.Номенклатура (путь из всех данных коллекции элементов формы к значению (элементу) в конкретной колонке Номенклатура в текущей строке в таблице Товары , напоминает "каталог в виде дерева") и далее описывается сам обработчик события (процедура либо функция).   
Как я понял в процедуре в скобках указывается "Элемент" за тем получив все элементы коллекции, идет уже перебор внутри процедуры?

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Процедура ТоварыНоменклатураПриИзменении(Элемент)

            ТекСтрока=Элементы.Товары.ТекущиеДанные;

            ТекСтрока.ЕдиницаИзмерения=ПолучитьЕХО(ТекСтрока.Номенклатура);

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

в данном случае Элемент - это текущая ячейка табличной части колонки "Номенклатура"
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
95 Сообщений
Dethmontt Dethmontt
69 Сообщений
alex0402
66 Сообщений
MuI_I_Ika MuI_I_Ika
61 Сообщений
wise wise
57 Сообщений
ilyay ilyay
39 Сообщений
Сергей Федоров Сергей Федоров
34 Сообщений
magnifico61
22 Сообщений
ilnur75
21 Сообщений
BuhRust
21 Сообщений

* Кто онлайн

  • Точка Гостей: 236
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal