Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 09:34

Автозаполнение документа из регистра остатков

Автор Евгений Штукерт, 14 мар 2017, 11:35

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

Norfolk

Цитата: Евгений Штукерт от 14 мар 2017, 14:40
Стало:
ГДЕ
      |   БиопрепаратыКОстатки.Район = &Район";

Было:
ГДЕ
      |      РегистрНакопления.БиопрепаратыК.Остатки(, Район = &Район)";
Добавлено: 14 мар 2017, 14:42


Подскажите как сделать очистку табличного документа при повторном выборе района, а то происходит накопление данных в табличном документе при выборе нового района в документе.
Да нет, не в этом проблема была. У вас процедура изменилась. Была наименованиерайонаприизменении, а стала районприизменении.

Добавлено: 14 мар 2017, 14:52


Цитата: Евгений Штукерт от 14 мар 2017, 14:40
Стало:
ГДЕ
      |   БиопрепаратыКОстатки.Район = &Район";

Было:
ГДЕ
      |      РегистрНакопления.БиопрепаратыК.Остатки(, Район = &Район)";
Добавлено: 14 мар 2017, 14:42


Подскажите как сделать очистку табличного документа при повторном выборе района, а то происходит накопление данных в табличном документе при выборе нового района в документе.
Для Каждого Стр из РезультатЗапроса Цикл
       Объект.Биопрепараты.Очистить();
       НоваяСтрока = Объект.Биопрепараты.Добавить();
       НоваяСтрока.НаименованиеБиопрепарата=Стр.НаименованиеБиопрепарата;
       НоваяСтрока.ЕдиницыИзмерения=Стр.ЕдИзм;
       НоваяСтрока.СрокГодности=Стр.СрокГодности;
       НоваяСтрока.ОстатокНаНачалоКол=Стр.ОстатокОстаток;
       НоваяСтрока.Изготовитель=Стр.Производитель;
       КонецЦикла;

так?

Евгений Штукерт

Да кучу всего пришлось изменить. Будет уроком, не надо в конфигурации называть все абы как.:thwrt::thwrt:

Как можно очистить весь табличный документ при выборе другого наименования района, а то в данной модели получается, что при выборе нового района данные записываются ниже.
Добавлено: 14 мар 2017, 14:55


Объект.Биопрепараты.Очистить();
Так он записывает в таблицу только одну строку, а их там может быть много
Добавлено: 14 мар 2017, 14:57


&НаКлиенте
Процедура РайонПриИзменении(Элемент)
   
    РайонПриИзмененииНаСервере(Объект.Район);
   

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


&НаСервере
Процедура РайонПриИзмененииНаСервере(Район)
     Объект.Биопрепараты.Очистить();

   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   БиопрепаратыКОстатки.Район,
      |   БиопрепаратыКОстатки.Код,
      |   БиопрепаратыКОстатки.НаименованиеБиопрепарата,
      |   БиопрепаратыКОстатки.СрокГодности,
      |   БиопрепаратыКОстатки.Производитель,
      |   БиопрепаратыКОстатки.ЕдИзм,
      |   БиопрепаратыКОстатки.ОстатокОстаток
      |ИЗ
      |   РегистрНакопления.БиопрепаратыК.Остатки(,Район = &Район ) КАК БиопрепаратыКОстатки";
      

   Запрос.УстановитьПараметр("Район", Район);

   РезультатЗапроса = Запрос.Выполнить().Выгрузить();
     
   Для Каждого Стр из РезультатЗапроса Цикл
       
       НоваяСтрока = Объект.Биопрепараты.Добавить();
       НоваяСтрока.НаименованиеБиопрепарата=Стр.НаименованиеБиопрепарата;
       НоваяСтрока.ЕдиницыИзмерения=Стр.ЕдИзм;
       НоваяСтрока.СрокГодности=Стр.СрокГодности;
       НоваяСтрока.ОстатокНаНачалоКол=Стр.ОстатокОстаток;
       НоваяСтрока.Изготовитель=Стр.Производитель;
       КонецЦикла;





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

Добавлено: 14 мар 2017, 14:58


Все огромное человеческое спасибо!!!!!:D:D:D:D

Norfolk

Прошу простить за торопливость. Очистку надо было из цикла убрать.
Одна запись потому что все очищал, а последнюю оставлял :) мой косяк )

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск