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

Автор Тема: Заполнить табличную часть обработки.  (Прочитано 1293 раз)

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

Онлайн mila1231

  • ***
  • Сообщений: 146
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-10
  • Сайт: 
  • Профессия: Ученик 1С
Что не так?
Задача создать обработку, которая будет выдавать список  номеров  приборов, а дальше если номер будет выделен, то по нажатию кнопки создавать документ.
Есть обработка у неё два реквизита НачалоПериода  КонецПериода
есть табличная часть приборы_принятые
здесь один реквизит  номер_прибора
Данные для заполнения берутся из РеестраСведений
До создания документа не дошла ещё, встала на самом начале, не выводится список в табличную часть.
Как делать откровенно не знаю, поэтому по средствам гугла.
ДокОбъект = Приборы_принятые;		
Запрос = новый Запрос;
Запрос.Текст ="ВЫБРАТЬ
              | РеестрДвиженияПрибора.Статус_регистр,
              | РеестрДвиженияПрибора.Дата_регистр,
              | РеестрДвиженияПрибора.Номер_прибора_регистр
              |ИЗ
              | РегистрСведений.РеестрДвиженияПрибора КАК РеестрДвиженияПрибора
  |ГДЕ
          | РеестрДвиженияПрибора.Дата_регистр МЕЖДУ &НачалоПериода И &КонецПериода";
 
     Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
     Запрос.УстановитьПараметр("КонецПериода", КонецДня(КонецПериода));    
ВыборкаДанные = Запрос.Выполнить().Выбрать();
Началопериода= ТекущаяДата();
Конецпериода=ТекущаяДата();
     Приборы_принятые.Очистить();
Пока выборкаДанные.Следующий() Цикл
Если выборкаДанные.Статус_регистр = "Принят" тогда
            Стр = Приборы_принятые.Добавить();
          Стр.Номер_прибора = ВыборкаДанные.Номер_прибора_регистр;
         конецЕсли;         
        КонецЦикла;
Итог ничего, я так думаю, может это должно быть как массив...
Зы: помидорами не кидать , по возможности помочь, если отправите читать, то хотя бы ссылку дайте, где и что.


Оффлайн Gunner

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

Онлайн mila1231

  • ***
  • Сообщений: 146
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-10
  • Сайт: 
  • Профессия: Ученик 1С
До выполнения запроса начало периода и конец периода какие значения принимают? Думаю, что пустые, т.е. 01.01.0001, т.к. после выполнения запроса им присваивается значение текущей даты
Упс, это я удалить забыла, просто начала  пробовать.
Просто НачалоПериода и КонецПериода - это поле ввода с типом Дата, т.е по сути я счас убрала строки с текущейДатой, но всё равно ничего не выводит, при этом если выборку по дате убираю, то заполняется только номер строки, но это наверно уже второй вопрос.

Оффлайн kavay

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 1
  • КПД: 33%
  • Регистрация: 2015-10-30
  • Сайт: 
  • Профессия: Ученик 1С
Попробуйте так:
ДокОбъект = Приборы_принятые;        
Началопериода= ТекущаяДата();
Конецпериода=ТекущаяДата();
Запрос = новый Запрос;       
Запрос.Текст ="ВЫБРАТЬ
              |    РеестрДвиженияПрибора.Статус_регистр,
              |    РеестрДвиженияПрибора.Дата_регистр,
              |    РеестрДвиженияПрибора.Номер_прибора_регистр
              |ИЗ
              |    РегистрСведений.РеестрДвиженияПрибора КАК РеестрДвиженияПрибора
              |ГДЕ
              |    РеестрДвиженияПрибора.Дата_регистр МЕЖДУ &НачалоПериода И &КонецПериода";
             
     Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
     Запрос.УстановитьПараметр("КонецПериода", КонецДня(КонецПериода));                                                             
     ВыборкаДанные = Запрос.Выполнить().Выбрать();
     Объект.Приборы_принятые.Очистить();
     Пока выборкаДанные.Следующий() Цикл
         Если выборкаДанные.Статус_регистр = "Принят" тогда
            Стр = Объект.Приборы_принятые.Добавить();
          Стр.Номер_прибора = ВыборкаДанные.Номер_прибора_регистр;
         конецЕсли;         
        КонецЦикла;
Добавил Объект. к реквизиту Приборы_принятые и перенёс присвоения реквизитов для параметров с датами, остальное правильно вроде, проверил у меня ТЧ заполняется и выводится.

Онлайн mila1231

  • ***
  • Сообщений: 146
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-10
  • Сайт: 
  • Профессия: Ученик 1С

Цитировать
Добавил Объект. к реквизиту Приборы_принятые и перенёс присвоения реквизитов для параметров с датами, остальное правильно вроде, проверил у меня ТЧ заполняется и выводится.

У меня ошибка
Обработка.Приборы_на_поверку.Форма.Форма.Форма(52,6)}: Переменная не определена (Объект)
     <<?>>Объект.Приборы_принятые.Очистить(); (Проверка: Толстый клиент (обычное приложение))
{Обработка.Приборы_на_поверку.Форма.Форма.Форма(55,19)}: Переменная не определена (Объект)
            Стр = <<?>>Объект.Приборы_принятые.Добавить(); (Проверка: Толстый клиент (обычное приложение))

Приборы_принятые, это табличная часть... во вложение структура обработки... Может, конечно я что-то не то делаю.





Добавлено: 18 Ноя 2015, 10:51

и выборка точно делается, счас просто слово Объект убрала... и добавила сообщить...но вот в строки не выводит... не могу понять причину((

Оффлайн Gunner

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

Оффлайн kavay

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 1
  • КПД: 33%
  • Регистрация: 2015-10-30
  • Сайт: 
  • Профессия: Ученик 1С
У вас обычная форма, у я проверял на управляемой, поэтому Объект добавил, не сообразил сразу.
Проверил на обычной, тоже всё работает, вот простейший рабочий код совершенно подобный вашему.
Внизу в окне сообщений у вас данные которые должны попадать в колонку табличной части ? Если да то выбирается всё верно. Может у вас элемент ТабличноеПоле на форме не связан с Табличной частью через свойство Данные ?
Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 10
| Приборы_принятые.ПринятыйПрибор
|ИЗ
| РегистрСведений.Приборы_принятые КАК Приборы_принятые";
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();

приборы_принятые.Очистить();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(ВыборкаДетальныеЗаписи.ПринятыйПрибор);
Стр = приборы_принятые.Добавить();
Стр.Номер_прибора = ВыборкаДетальныеЗаписи.ПринятыйПрибор;
КонецЦикла;
КонецПроцедуры

Онлайн mila1231

  • ***
  • Сообщений: 146
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-10
  • Сайт: 
  • Профессия: Ученик 1С
Ребят огромное вам спасибо, а то я уже голову просто сломала, действительно дело было в самом элементарном)))у меня просто почему-то , сама даже не знаю тип был привязан к документу, счас поставила строку и всё ура ура)))


Теги:
 

Часть четвертая: переход на «1С» версии «3.0». Где в программе находятся «Параметры учета»? Алгоритм настройки кадрового учета в новой версии программы «1С»

Автор 1cwikiРаздел Зарплата и управление персоналом

Ответов: 0
Просмотров: 3427
Последний ответ 20 Мар 2015, 12:58
от 1cwiki
табличная часть, реквизит "сумма"

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

Ответов: 1
Просмотров: 2135
Последний ответ 01 Мар 2014, 22:27
от DmitriyF
часть уплаченного НДФЛ не попадает в справку 2-ндфл

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

Ответов: 1
Просмотров: 1473
Последний ответ 30 Янв 2015, 02:08
от MuI_I_Ika
Восстановление "убитой" обработки

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

Ответов: 7
Просмотров: 5466
Последний ответ 31 Май 2011, 14:27
от Slin
Уменьшение закупочной цены-уменьшение прибыли на часть товара

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

Ответов: 2
Просмотров: 3225
Последний ответ 13 Дек 2012, 18:46
от Aina

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

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

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


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

* Реклама

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

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

oleg-x
116 Сообщений
alex0402
102 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
73 Сообщений
AIFrame
51 Сообщений
Golickoff Golickoff
49 Сообщений
ilyay ilyay
49 Сообщений
ab30ru
38 Сообщений
wise wise
34 Сообщений
Амал
30 Сообщений
LexaK
22 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal