helpf.pro
Регистрация

v8: Загрузка в ТП

Ermak
12.03.2013 14:44Прочитано: 1614
Загружаю в ТЧ по условию, если организация данная есть тогда загружаем эти документы

Код 1C v 8.х
 	Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Форма1.Регистратор КАК Колонка1,
| Форма1.Номенклатура КАК Колонка2,
| Форма1.Количество КАК Колонка3,
| Форма1.Цена КАК Колонка4,
| Форма1.Сумма КАК Колонка5,
| Форма1.СуммаНДС КАК Колонка6,
| Форма1.Организация КАК Организация
|ИЗ
| РегистрНакопления.Форма1 КАК Форма1";

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


Если ЭлементыФормы.Организация.Значение = Результат.Организация.Наименование Тогда
ЭлементыФормы.ТабличноеПоле1.Значение = Результат;
Иначе
КонецЕсли;


Выдает ошибку

{Форма.Форма.Форма(90)}: Поле объекта не обнаружено (Организация)
Если ЭлементыФормы.Организация.Значение = Результат.Организация.Наименование Тогда

Подскажите в чем дело?
Yandex
Возможно, вас также заинтересует
Реклама на портале
Mokey
12.03.2013 15:14Ответ № 1
а где обход результата?
Код 1C v 8.х
 Результат = Запрос.Выполнить().Выгрузить();

Для Каждого Стр Из Результат Цикл
Если ЭлементыФормы.Организация.Значение = Стр.Организация.Наименование Тогда
ЭлементыФормы.ТабличноеПоле1.Значение = Результат;
Иначе
КонецЕсли;
КонецЦикла;
Ermak
12.03.2013 15:18Ответ № 2
(1) Mokey, Вообще не заполняет ТП
Mokey
12.03.2013 15:22Ответ № 3
а совпадают организации?
и вот это вот:
ЭлементыФормы.Организация.Значение = Стр.Организация.Наименование
одинаковые типы сравниваются?
Ermak
12.03.2013 15:31Ответ № 4
ЭлементыФормы.Организация.Значение = Стр.Организация.Наименование да тип одинаковый, тип значения Справочник.Организация. Проверил организации совпадают
Mokey
12.03.2013 15:53Ответ № 5
Стр.Организация.Наименование - вот это тип "Строка"
Ermak
12.03.2013 16:19Ответ № 6
Все исправил на Стр.Организация, честно сказал не знал про это, но почему то не выдает документы по данной организации

Код 1C v 8.х
 	Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Форма1.Регистратор КАК Колонка1,
| Форма1.Номенклатура КАК Колонка2,
| Форма1.Количество КАК Колонка3,
| Форма1.Цена КАК Колонка4,
| Форма1.Сумма КАК Колонка5,
| Форма1.СуммаНДС КАК Колонка6,
| Форма1.Организация КАК Организация
|ИЗ
| РегистрНакопления.Форма1 КАК Форма1";

Результат = Запрос.Выполнить().Выгрузить();
Для Каждого Стр Из Результат Цикл
Если ЭлементыФормы.Организация.Значение = Стр.Организация Тогда
ЭлементыФормы.ТабличноеПоле1.Значение = Результат;
Иначе
КонецЕсли;
КонецЦикла;
Mokey
12.03.2013 16:50Ответ № 7
Код 1C v 8.х
 Для Каждого Стр Из Результат Цикл
Если ЭлементыФормы.Организация.Значение = Стр.Организация Тогда
ЭлементыФормы.ТабличноеПоле1.Значение = Результат;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
Прервать;
Иначе
КонецЕсли;
Mokey
12.03.2013 16:53Ответ № 8
но в Вашем примере сама идеология неверная. я бы сделал так:
Код 1C v 8.х
 "ВЫБРАТЬ
| Форма1.Регистратор КАК Колонка1,
| Форма1.Номенклатура КАК Колонка2,
| Форма1.Количество КАК Колонка3,
| Форма1.Цена КАК Колонка4,
| Форма1.Сумма КАК Колонка5,
| Форма1.СуммаНДС КАК Колонка6,
| Форма1.Организация КАК Организация
|ИЗ
| РегистрНакопления.Форма1 КАК Форма1
|ГДЕ
| РегистрНакопления.Форма1.Организация = Организация";

Запрос.Параметры.Вставить("Организация", ЭлементыФормы.Организация.Значение);
Результат = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение = Результат;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
Ermak
12.03.2013 16:56Ответ № 9
А если у меня будет еще один реквизит по которому надо будет искать, то так будет?

Код 1C v 8.х
 Запрос.Параметры.Вставить("Организация", ЭлементыФормы.Организация.Значение);
Запрос.Параметры.Вставить("Квартал", ЭлементыФормы.Квартал.Значение);
Результат = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение = Результат;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
Mokey
12.03.2013 16:57Ответ № 10
да, только в запрос не забудьте условие добавить
Изменено 12.03.13 16:58:03
Ermak
12.03.2013 17:00Ответ № 11
Да это я знаю, щас попробую
Mokey
12.03.2013 17:03Ответ № 12
Удачи!
Ermak
12.03.2013 17:05Ответ № 13
Выдает все документ не работает условия

Код 1C v 8.х
 	Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Форма1.Регистратор КАК Колонка1,
| Форма1.Номенклатура КАК Колонка2,
| Форма1.Количество КАК Колонка3,
| Форма1.Цена КАК Колонка4,
| Форма1.Сумма КАК Колонка5,
| Форма1.СуммаНДС КАК Колонка6,
| Форма1.Организация КАК Организация,
| Форма1.Квартал КАК Квартал
|ИЗ
| РегистрНакопления.Форма1 КАК Форма1";

Запрос.Параметры.Вставить("Организация", ЭлементыФормы.Организация.Значение);
Запрос.Параметры.Вставить("Квартал", ЭлементыФормы.Период.Значение);
Результат = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение = Результат;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
Mokey
12.03.2013 17:32Ответ № 14
так запрос не тот, который я показывал
Ermak
12.03.2013 19:07Ответ № 15
ошибся

Код 1C v 8.х
 	Запрос = Новый Запрос;
Запрос.Текст =

"ВЫБРАТЬ
| Форма1.Регистратор КАК Колонка1,
| Форма1.Номенклатура КАК Колонка2,
| Форма1.Количество КАК Колонка3,
| Форма1.Цена КАК Колонка4,
| Форма1.Сумма КАК Колонка5,
| Форма1.СуммаНДС КАК Колонка6,
| Форма1.Организация КАК Организация,
| Форма1.Квартал КАК Квартал
|ИЗ
| РегистрНакопления.Форма1 КАК Форма1
|ГДЕ
| РегистрНакопления.Форма1.Организация = Организация";



Запрос.Параметры.Вставить("Организация", ЭлементыФормы.Организация.Значение);

Результат = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение = Результат;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();


выдает ошибку

{(13, 2)}: Поле не найдено "РегистрНакопления.Форма1.Организация"
<<?>>РегистрНакопления.Форма1.Организация = Организация
Ermak
12.03.2013 19:21Ответ № 16
с этим я разобрался и добавил еще одно условие для отбора документа и выдала опять ошибку

{(14, 4)}: Синтаксическая ошибка "Форма1.Квартал"
<<?>>Форма1.Квартал = &Квартал


Код 1C v 8.х
 	Запрос = Новый Запрос;
Запрос.Текст =

"ВЫБРАТЬ
| Форма1.Регистратор КАК Колонка1,
| Форма1.Номенклатура КАК Колонка2,
| Форма1.Количество КАК Колонка3,
| Форма1.Цена КАК Колонка4,
| Форма1.Сумма КАК Колонка5,
| Форма1.СуммаНДС КАК Колонка6,
| Форма1.Организация КАК Организация,
| Форма1.Квартал КАК Квартал
|ИЗ
| РегистрНакопления.Форма1 КАК Форма1
|ГДЕ
| Форма1.Организация = &Организация
| Форма1.Квартал = &Квартал";

Запрос.Параметры.Вставить("Организация", ЭлементыФормы.Организация.Значение);
Запрос.Параметры.Вставить("Квартал", ЭлементыФормы.Период.Значение);
Результат = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение = Результат;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
Ermak
12.03.2013 19:39Ответ № 17
Я разобрался )
Ermak
12.03.2013 19:45Ответ № 18
Подскажите может я что то не так делаю. У меня есть шаблон excel и есть 20 документов, каждый документ должен попасть в свою колонку шаблона excel, я думал сделать для каждого документа свой регистр накопления и потом с помощью запроса объединения передавать данные в excel, а можно ли если я все 20 документов запихаю в один регистр накоплений (т.к у них формы одинаковые) и потом с помощью условия, например Если Форма1.Регистратор имеет имя Форма №1 тогда ее определить в колонку 1 и т.д покажите пример если это возможно или может есть способ по проще.
Ermak
13.03.2013 11:12Ответ № 19
Я разобрался!
Ermak
13.03.2013 11:13Ответ № 20
Вопрос закрыт!
Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.