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

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

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
Просмотров: 297
Последний ответ 21 Сен 2017, 10:33
от Insider
Редактирование формы "Настройки пользователя".

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

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

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

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

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

Ответов: 6
Просмотров: 5000
Последний ответ 10 Июл 2014, 14:05
от cska-fanat-kz
Настройка формы "Заполнение товаров"

Автор ЖаннаРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 588
Последний ответ 10 Мар 2017, 21:00
от Жанна

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
142 Сообщений
ilyay ilyay
63 Сообщений
alex0402
50 Сообщений
AIFrame
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal