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

Автор Тема: Не заполняется табличная часть при вводе документа на основании  (Прочитано 5927 раз)

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

Оффлайн Glikeria

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 3
  • КПД: 7%
  • Регистрация: 2010-08-11
  • Сайт: 
Здравствуйте!Скажите,пожалуйста,почему при выполнении следующей обработки табличная часть документа ВозвратНаРаботу не заполняется?Спасибо.
Запрос=Новый Запрос("ВЫБРАТЬ
                        |    СостояниеПоДокументуОтпускаОрганизаций.Организация,
                        |    СостояниеПоДокументуОтпускаОрганизаций.Сотрудник,
                        |    СостояниеПоДокументуОтпускаОрганизаций.Состояние КАК ВидОтпуска,
                        |    МИНИМУМ(СостояниеПоДокументуОтпускаОрганизаций.Период) КАК ДатаНачалаОтпуска,
                        |    СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения КАК ДатаОкончанияОтпуска,
                        |    ДОБАВИТЬКДАТЕ(СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения, ДЕНЬ, 1) КАК ДатаОкончанияОтпускаПлюсОдинДень,
                        |    СостояниеРаботниковОрганизаций.Период КАК ДатаНачалаСостоянияПослеОтпуска,
                        |    СостояниеРаботниковОрганизаций.ПериодЗавершения КАК ДатаЗавершенияСостоянияПослеОтпуска,
                        |    СостояниеРаботниковОрганизаций.Состояние,
                        |    СостояниеРаботниковОрганизаций.СостояниеЗавершения
                        |ИЗ
                        |    РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеПоДокументуОтпускаОрганизаций
                        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеРаботниковОрганизаций
                        |        ПО СостояниеПоДокументуОтпускаОрганизаций.Организация = СостояниеРаботниковОрганизаций.Организация
                        |            И СостояниеПоДокументуОтпускаОрганизаций.Сотрудник = СостояниеРаботниковОрганизаций.Сотрудник
                        |            И (СостояниеРаботниковОрганизаций.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаОрганизации.Работает))
                        |            И (ДОБАВИТЬКДАТЕ(СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения, ДЕНЬ, 1) <= СостояниеРаботниковОрганизаций.Период)
                        |ГДЕ
                        //|    СостояниеПоДокументуОтпускаОрганизаций.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
 
                        |     СостояниеПоДокументуОтпускаОрганизаций.Регистратор ССЫЛКА Документ.ОтпускаОрганизаций
                        |
                        |СГРУППИРОВАТЬ ПО
                        |    СостояниеПоДокументуОтпускаОрганизаций.Организация,
                        |    СостояниеПоДокументуОтпускаОрганизаций.Сотрудник,
                        |    СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения,
                        |    СостояниеРаботниковОрганизаций.Период,
                        |    СостояниеРаботниковОрганизаций.ПериодЗавершения,
                        |    СостояниеРаботниковОрганизаций.Состояние,
                        |    СостояниеРаботниковОрганизаций.СостояниеЗавершения,
                        |    СостояниеПоДокументуОтпускаОрганизаций.Состояние");

        Запрос.УстановитьПараметр("Работает",Перечисления.СостоянияРаботникаОрганизации.Работает);
        //Запрос.УстановитьПараметр("ДатаНачала",ДатаНачала);
 
        //Запрос.УстановитьПараметр("ДатаОкончания",ДатаОкончания);
 
       
        Результат=Запрос.Выполнить();
          Запрос.Выполнить().Выгрузить();
Выборка=Результат.Выбрать();

Пока Выборка.Следующий() Цикл

    ДокументОбъект=Документы.ВозвратНаРаботуОрганизаций.СоздатьДокумент();
    ДокументОбъект.Заполнить(ВЫБОРКА.Ссылка);
    ДокументОбъект.Дата=ТекущаяДата();
    ДокументОбъект.Записать();
    //ДокументОбъект.ПолучитьФорму().Открыть();


Оффлайн mohock

  • ***
  • Сообщений: 170
  • РЕПУТАЦИЯ: 50
  • КПД: 29%
  • Регистрация: 2010-08-12
  • Сайт: 
  • Профессия: Программист 8.1
Самое первое поставьте точку останова в
Выборка=Результат.Выбрать();
И посмотрите, что возвращает запрос.

Оффлайн Glikeria

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 3
  • КПД: 7%
  • Регистрация: 2010-08-11
  • Сайт: 
Я проверяла с помощью консоли запросов,запрос возвращает то,что надо.В таблицу выводятся те сотрудники,которые состоят в отпуске.

Оффлайн mohock

  • ***
  • Сообщений: 170
  • РЕПУТАЦИЯ: 50
  • КПД: 29%
  • Регистрация: 2010-08-12
  • Сайт: 
  • Профессия: Программист 8.1
И еще, я редко пользуюсь конструкцией
ДокументОбъект.Заполнить(...)
У Вас заполняется шапка документа?
Если и ТЧ, то для тч нужен свой запрос и конструкция, если память не отшибло:
ДокументОбъект.ТабличнаяЧасть.Заполнить(...)

Оффлайн Glikeria

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 3
  • КПД: 7%
  • Регистрация: 2010-08-11
  • Сайт: 
Шапка документа заполняется,а вот табличная часть нет.
А что значит следующая ошибка?
{Обработка.Обработка3.Форма.Форма(49)}: Метод объекта не обнаружен (Заполнить)
                    ДокументОбъект.РаботникиОрганизации.Заполнить(Выборка.Ссылка);

Оффлайн mohock

  • ***
  • Сообщений: 170
  • РЕПУТАЦИЯ: 50
  • КПД: 29%
  • Регистрация: 2010-08-12
  • Сайт: 
  • Профессия: Программист 8.1
Шапка документа заполняется,а вот табличная часть нет.
А что значит следующая ошибка?
{Обработка.Обработка3.Форма.Форма(49)}: Метод объекта не обнаружен (Заполнить)
                    ДокументОбъект.РаботникиОрганизации.Заполнить(Выборка.Ссылка);


Таки мне отшибло память  :D Такого метода у ТЧ нет. Это метод всего объекта. И фишка похоже в обработчике события:
ОбработкаЗаполнения.
Надо посмотреть эту процедуру в твоем документе.
В ней есть структура по которой заполняется весь документ с ТЧ. Может быть так, что колонки твоего запроса, касающиеся
ТЧ по наименованиям не совпадают со стуктурой. (В общем это в хелпе написано. Почитай)

Оффлайн mohock

  • ***
  • Сообщений: 170
  • РЕПУТАЦИЯ: 50
  • КПД: 29%
  • Регистрация: 2010-08-12
  • Сайт: 
  • Профессия: Программист 8.1
Шапка документа заполняется,а вот табличная часть нет.
А что значит следующая ошибка?
{Обработка.Обработка3.Форма.Форма(49)}: Метод объекта не обнаружен (Заполнить)
                    ДокументОбъект.РаботникиОрганизации.Заполнить(Выборка.Ссылка);


Таки мне отшибло память  :D Такого метода у ТЧ нет. Это метод всего объекта. И фишка похоже в обработчике события:
ОбработкаЗаполнения.
Надо посмотреть эту процедуру в твоем документе.
В ней есть структура по которой заполняется весь документ с ТЧ. Может быть так, что колонки твоего запроса, касающиеся
ТЧ по наименованиям не совпадают со стуктурой. (В общем это в хелпе написано. Почитай)

Похоже из-за этого я не доверяю конструкции Заполнить... Обычно ТЧ загружаю перебором.  B)

Оффлайн Glikeria

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 3
  • КПД: 7%
  • Регистрация: 2010-08-11
  • Сайт: 
А как это можно сделать перебором?

Оффлайн mohock

  • ***
  • Сообщений: 170
  • РЕПУТАЦИЯ: 50
  • КПД: 29%
  • Регистрация: 2010-08-12
  • Сайт: 
  • Профессия: Программист 8.1
А как это можно сделать перебором?

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

Кстати в твоем коде конструкция
Запрос.Выполнить.Выгрузить(); абсолютно лишняя.
Надо либо Выгружать либо Выбирать.
Причем, как говорится: Выбирать и Выгружать это совершенно разные вещи  :D

Оффлайн Glikeria

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 3
  • КПД: 7%
  • Регистрация: 2010-08-11
  • Сайт: 
А почему может быть следующая ситуация:в отладике всё правильно,но при этом если открыть документ ВозвратНаРаботуОрганизаций табличная часть всё равно не заполняется?


Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

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

Ответов: 1
Просмотров: 4481
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Автоматическое заполнение табличной части документа из табличной части другого

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

Ответов: 6
Просмотров: 15951
Последний ответ 16 Авг 2012, 12:07
от Will
Заполнение поля табличной части документа из табличной части справочника.

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

Ответов: 3
Просмотров: 4203
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

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

Ответов: 1
Просмотров: 639
Последний ответ 10 Май 2017, 20:44
от ilnur75
Добавление сведений в графу "основание" документа "ТОРГ-12"

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

Ответов: 4
Просмотров: 7752
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

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

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal