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

Автор Тема: Обращение к элементу формы  (Прочитано 2393 раз)

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

Оффлайн pomkka

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-02-17
  • Сайт: 
  • Профессия: Программист 8.1
Добрый день. Подскажите пожалуйста, как быть. Есть конфигурация альфа-авто 5. Нужно реализовать обработку заполнения табличных частей документа "Резервирование под заказ покупателя", которая при 0 значении остатка товара на складе будет удалять табличные строки с номенклатурой.

Сама обработка не сложная, но я сломал голову и никак не могу понять, как достать значение остаток на складе с формы. Форма обычная, заголовок столбца заштрихован, смотрел через отладчик, в ЭлементыФормы вижу заголовок столбца, но самого значения так и не увидел. Подскажите, откуда его можно достать? Спасибо.


Оффлайн Gunner

  • ****
  • Сообщений: 291
  • РЕПУТАЦИЯ: 23
  • КПД: 8%
  • Регистрация: 2011-08-07
  • Сайт: 
  • Профессия: Программист 1С
Присваивается текст. Посмотрите обработчик таблич. части "при получении данных", там должен выводиться остаток

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Если остатки в документе заполнены, то через "ТекущиеДанные" табличного поля формы. В противном случае остатки еще нужно как-то заполнить.

Оффлайн pomkka

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-02-17
  • Сайт: 
  • Профессия: Программист 8.1
Всем спасибо;) Решил проблему запросом к регистру оборотов, с параметром артикул номенклатуры:) Если кому-нибудь интересен код обработки, могу выложить)

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Интересно, выкладывайте.

Оффлайн pomkka

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-02-17
  • Сайт: 
  • Профессия: Программист 8.1
Процедура Заполнить(ДокументОбъект, ТабЧасть, ЭтаФорма) Экспорт 
МассивСтрок = Новый Массив;
Для Каждого Элемент Из ТабЧасть Цикл
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               | ОстаткиТоваровКомпанииОстатки.КоличествоОстаток
               |ИЗ
               | РегистрНакопления.ОстаткиТоваровКомпании.Остатки КАК ОстаткиТоваровКомпанииОстатки
               |ГДЕ
               | ОстаткиТоваровКомпанииОстатки.Номенклатура.Артикул = &Артикул";
Запрос.УстановитьПараметр("Артикул",Элемент.Номенклатура.Артикул);
ВыборкаЗапроса = Запрос.Выполнить().Выбрать();

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

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

Как-то так. Работает исправно, если что-нибудь можно улучшить, пожалуйста, дайте знать:)

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Эх костыли вы мои костыли.
Пример перезаполнения таблицы документа по ненулевым остаткам
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказПокупателяТовары.ЕдиницаИзмерения,
| ЗаказПокупателяТовары.ЕдиницаИзмеренияМест,
| ЗаказПокупателяТовары.Количество,
| ЗаказПокупателяТовары.КоличествоМест,
| ЗаказПокупателяТовары.Коэффициент,
| ЗаказПокупателяТовары.Номенклатура,
| ЗаказПокупателяТовары.ПлановаяСебестоимость,
| ЗаказПокупателяТовары.ПроцентСкидкиНаценки,
| ЗаказПокупателяТовары.Размещение,
| ЗаказПокупателяТовары.СтавкаНДС,
| ЗаказПокупателяТовары.Сумма,
| ЗаказПокупателяТовары.СуммаНДС,
| ЗаказПокупателяТовары.ХарактеристикаНоменклатуры,
| ЗаказПокупателяТовары.Цена,
| ЗаказПокупателяТовары.ПроцентАвтоматическихСкидок,
| ЗаказПокупателяТовары.УсловиеАвтоматическойСкидки,
| ЗаказПокупателяТовары.ЗначениеУсловияАвтоматическойСкидки,
| ЗаказПокупателяТовары.КлючСтроки,
| ЗаказПокупателяТовары.СерияНоменклатуры
|ИЗ
| Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЗаказовПокупателей.Остатки КАК РазмещениеЗаказовПокупателейОстатки
| ПО ЗаказПокупателяТовары.Номенклатура = РазмещениеЗаказовПокупателейОстатки.Номенклатура
| И ЗаказПокупателяТовары.ХарактеристикаНоменклатуры = РазмещениеЗаказовПокупателейОстатки.ХарактеристикаНоменклатуры
| И ЗаказПокупателяТовары.Ссылка = РазмещениеЗаказовПокупателейОстатки.ЗаказПокупателя
|ГДЕ
| ЗаказПокупателяТовары.Ссылка = &Ссылка
| И РазмещениеЗаказовПокупателейОстатки.КоличествоОстаток > 0";

Запрос.УстановитьПараметр("Ссылка", Ссылка);

Товары.Загрузить(Запрос.Выполнить().Выгрузить());

Оффлайн pomkka

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-02-17
  • Сайт: 
  • Профессия: Программист 8.1
Эх костыли вы мои костыли.
Пример перезаполнения таблицы документа по ненулевым остаткам
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказПокупателяТовары.ЕдиницаИзмерения,
| ЗаказПокупателяТовары.ЕдиницаИзмеренияМест,
| ЗаказПокупателяТовары.Количество,
| ЗаказПокупателяТовары.КоличествоМест,
| ЗаказПокупателяТовары.Коэффициент,
| ЗаказПокупателяТовары.Номенклатура,
| ЗаказПокупателяТовары.ПлановаяСебестоимость,
| ЗаказПокупателяТовары.ПроцентСкидкиНаценки,
| ЗаказПокупателяТовары.Размещение,
| ЗаказПокупателяТовары.СтавкаНДС,
| ЗаказПокупателяТовары.Сумма,
| ЗаказПокупателяТовары.СуммаНДС,
| ЗаказПокупателяТовары.ХарактеристикаНоменклатуры,
| ЗаказПокупателяТовары.Цена,
| ЗаказПокупателяТовары.ПроцентАвтоматическихСкидок,
| ЗаказПокупателяТовары.УсловиеАвтоматическойСкидки,
| ЗаказПокупателяТовары.ЗначениеУсловияАвтоматическойСкидки,
| ЗаказПокупателяТовары.КлючСтроки,
| ЗаказПокупателяТовары.СерияНоменклатуры
|ИЗ
| Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЗаказовПокупателей.Остатки КАК РазмещениеЗаказовПокупателейОстатки
| ПО ЗаказПокупателяТовары.Номенклатура = РазмещениеЗаказовПокупателейОстатки.Номенклатура
| И ЗаказПокупателяТовары.ХарактеристикаНоменклатуры = РазмещениеЗаказовПокупателейОстатки.ХарактеристикаНоменклатуры
| И ЗаказПокупателяТовары.Ссылка = РазмещениеЗаказовПокупателейОстатки.ЗаказПокупателя
|ГДЕ
| ЗаказПокупателяТовары.Ссылка = &Ссылка
| И РазмещениеЗаказовПокупателейОстатки.КоличествоОстаток > 0";

Запрос.УстановитьПараметр("Ссылка", Ссылка);

Товары.Загрузить(Запрос.Выполнить().Выгрузить());

Скажите, пожалуйста, а чем плох мой способ? Я начинающий программист, хотелось бы учиться, учиться и еще раз учиться)

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Я уже не раз предлагал и не на одном форуме у тех, кто делает запрос в цикле, выжигать на лбу огромными огненными буквами "ТАК ДЕЛАТЬ НЕЛЬЗЯ!"
Практически в каждой строке вашего кода или не соответствие методическим рекомендациям или откровенные ошибки, например поиск в запросе номенклатуры по артикулу.
Любой код в 1С 8 кроме того что он должен быть правильным, он еще и должен выполнятся быстро. и эти оба параметра равнозначно критичны.

Оффлайн pomkka

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-02-17
  • Сайт: 
  • Профессия: Программист 8.1
Я уже не раз предлагал и не на одном форуме у тех, кто делает запрос в цикле, выжигать на лбу огромными огненными буквами "ТАК ДЕЛАТЬ НЕЛЬЗЯ!"
Практически в каждой строке вашего кода или не соответствие методическим рекомендациям или откровенные ошибки, например поиск в запросе номенклатуры по артикулу.
Любой код в 1С 8 кроме того что он должен быть правильным, он еще и должен выполнятся быстро. и эти оба параметра равнозначно критичны.

Выжигать не стоит, я все понял, спасибо Вам огромное за советы, сейчас все переделываю.


Теги:
 

Не работает метод Сдвинуть() по отношению к программно добавляемой колонке1С:Предприятие 8.3 (8.3.10.2561) Управление производственным предприятием, редакция 1.4 Приветствую, я добавляю программно свою колонку в методе ПриОткрытии() модуля формы, вот так

Автор InsiderРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 634
Последний ответ 21 Сен 2017, 10:33
от Insider
Нужно в параметр запроса к РегистрБухгалтерии.Проводки.Остатки вставить вместо периода данные из другого запроса отчет СКД 8.3, обычные формы

Автор Св ЧРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 155
Последний ответ 10 Апр 2018, 14:00
от Св Ч
Редактирование формы "Настройки пользователя".

Автор t955938Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 5258
Последний ответ 03 Авг 2011, 11:45
от t955938
получаю значение реквизита формы, дает значение 0

Автор mikel10Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3800
Последний ответ 12 Июл 2013, 15:35
от mikel10
Как обратиться к функции модуля формы из модуля Менеджера?

Автор TreeDogNightРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 5793
Последний ответ 10 Июл 2014, 14:05
от cska-fanat-kz

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
161 Сообщений
alex0402
74 Сообщений
oleg-x
67 Сообщений
AIFrame AIFrame
60 Сообщений
buketov.av buketov.av
47 Сообщений
ilyay ilyay
39 Сообщений
wise wise
39 Сообщений
Анюта17
33 Сообщений
KOI8-R
32 Сообщений
Alter
30 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal