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

Автор Тема: Не записывается значение в ТЗ  (Прочитано 476 раз)

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

Оффлайн masaraksh123

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-04
  • Сайт: 
Добрый день!

Помогите решить задачу.

Перегружаю пользователей из АльфаАвто4 в АльфаАвто5 только по одной организации. У каждого пользователя может быть шаблон, в котором указана другая организация. В базе приемнике никакая другая организация, кроме переносимой, не должна переноситься, поэтому в выборке чищу все ссылки на дргуие организации и подразделения. Но столкнулся с тем, что в таблице значений, при присвоении другого значения, значение становится = неопределено, а не то, которое мне нужно присвоить.

Некорректное присовение происходит в строке, которую я подчеркнул

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Пользователи.Ссылка,
| Пользователи.ВерсияДанных,
| Пользователи.ПометкаУдаления,
| Пользователи.Предопределенный,
| Пользователи.Код,
| Пользователи.Наименование,
| Пользователи.Сотрудник,
| Пользователи.Организация,
| Пользователи.Подразделение,
| Пользователи.ШаблонПрав,
| Пользователи.РежимИспользованияОборудования,
| Пользователи.ЯвляетсяШаблоном,
| Пользователи.ГрафикРаботы,
| Пользователи.ПарольККМ,
| Пользователи.НаправлениеСервиса,
| Пользователи.Руководитель,
| Пользователи.СкладыРазрешения.(
| Ссылка,
| НомерСтроки,
| СкладПользователя,
| ИстинаСклад,
| Приход,
| Расход
| )
|ИЗ
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Организация = &Организация";

Запрос.УстановитьПараметр("Организация", Справочники.Организации.НайтиПоКоду("00005"));

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

орг = Справочники.Организации.НайтиПоКоду("00005");

тз = Результат.Выгрузить();

для сч = 0 по тз.Количество() Цикл

если ЗначениеЗаполнено( тз[сч].ШаблонПрав ) тогда

если тз[сч].ШаблонПрав.Организация <> орг тогда

шаблонОбъект = тз[сч].ШаблонПрав.Ссылка.ПолучитьОбъект();


Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Пользователи.Ссылка,
| Пользователи.ВерсияДанных,
| Пользователи.ПометкаУдаления,
| Пользователи.Предопределенный,
| Пользователи.Код,
| Пользователи.Наименование,
| Пользователи.Сотрудник,
| Пользователи.Подразделение,
| Пользователи.Организация,
| Пользователи.ШаблонПрав,
| Пользователи.РежимИспользованияОборудования,
| Пользователи.ЯвляетсяШаблоном,
| Пользователи.ГрафикРаботы,
| Пользователи.ПарольККМ,
| Пользователи.НаправлениеСервиса,
| Пользователи.Руководитель,
| Пользователи.СкладыРазрешения.(
| Ссылка,
| НомерСтроки,
| СкладПользователя,
| ИстинаСклад,
| Приход,
| Расход
| )
|ИЗ
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Ссылка = &Ссылка";

Запрос.УстановитьПараметр("Ссылка", шаблонОбъект.Ссылка);

Результат = Запрос.Выполнить().Выгрузить();
 
                                ///////////////////////////////
/// ПРОБЛЕМА ЗДЕСЬ //////////////
тз[сч].ШаблонПрав = Результат[0];

                                //////////////////////////////

тз[сч].ШаблонПрав.Организация = Справочники.Организации.ПустаяСсылка();
тз[сч].ШаблонПрав.Подразделение = Справочники.ПодразделенияКомпании.ПустаяСсылка();
КонецЕсли;

КонецЕсли;

КонецЦикла;

ВыборкаДанных = тз;

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

СМОТРЕТЬ >>


Оффлайн ДенисЧ

  • **
  • Сообщений: 63
  • РЕПУТАЦИЯ: 9
  • КПД: 14%
  • Регистрация: 2016-09-14
  • Сайт: 
тз[сч].ШаблонПрав = Результат[0];

В этом случае ты пыатешься присвоить неприсвоимое значение.
Достаточно запустить отладчик и посмотреть на тип Результат[0]. Просветление наступит такое, что принц Гаутама позавидует.

Оффлайн masaraksh123

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-04
  • Сайт: 
тз[сч].ШаблонПрав = Результат[0];

В этом случае ты пыатешься присвоить неприсвоимое значение.
Достаточно запустить отладчик и посмотреть на тип Результат[0]. Просветление наступит такое, что принц Гаутама позавидует.

Там будет тип ТаблицаЗначений. Почему он не может быть присвоен?

Оффлайн ДенисЧ

  • **
  • Сообщений: 63
  • РЕПУТАЦИЯ: 9
  • КПД: 14%
  • Регистрация: 2016-09-14
  • Сайт: 
Там будет немного другое значение.

Могу предложить немного нирваны, чтобы приблизиться к просвещению.

Оффлайн masaraksh123

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-04
  • Сайт: 
Там будет немного другое значение.

Могу предложить немного нирваны, чтобы приблизиться к просвещению.

Хорошо, строка таблицы значений не может быть присвоена в поле строки ТЗ.
Но как быть со структурами? Их тоже нельзя присвоить в поле строки тз?
Добавил выгрузку строки ТЗ в структуру, и все та же проблема..

орг = Справочники.Организации.НайтиПоКоду("00005");


Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Пользователи.Ссылка,
| Пользователи.ВерсияДанных,
| Пользователи.ПометкаУдаления,
| Пользователи.Предопределенный,
| Пользователи.Код,
| Пользователи.Наименование,
| Пользователи.Сотрудник,
| Пользователи.Организация,
| Пользователи.Подразделение,
| Пользователи.ШаблонПрав,
| Пользователи.РежимИспользованияОборудования,
| Пользователи.ЯвляетсяШаблоном,
| Пользователи.ГрафикРаботы,
| Пользователи.ПарольККМ,
| Пользователи.НаправлениеСервиса,
| Пользователи.Руководитель,
| Пользователи.СкладыРазрешения.(
| Ссылка,
| НомерСтроки,
| СкладПользователя,
| ИстинаСклад,
| Приход,
| Расход
| )
|ИЗ
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Организация = &Организация";

Запрос.УстановитьПараметр("Организация", орг);

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


тз = Результат.Выгрузить();

для сч = 0 по тз.Количество() Цикл

если ЗначениеЗаполнено( тз[сч].ШаблонПрав ) тогда

если тз[сч].ШаблонПрав.Организация <> орг тогда

шаблонПрав = тз[сч].ШаблонПрав;


стр = новый Структура;
стр.Вставить( "Ссылка", шаблонПрав.Ссылка );
стр.Вставить( "ВерсияДанных", шаблонПрав.ВерсияДанных );
стр.Вставить( "ПометкаУдаления", шаблонПрав.ПометкаУдаления );
стр.Вставить( "Предопределенный", шаблонПрав.Предопределенный );
стр.Вставить( "Код", шаблонПрав.Код );
стр.Вставить( "Наименование", шаблонПрав.Наименование );
стр.Вставить( "Сотрудник", шаблонПрав.Сотрудник );
стр.Вставить( "Подразделение", Неопределено );
стр.Вставить( "Организация", Неопределено );
стр.Вставить( "РежимИспользованияОборудования", шаблонПрав.РежимИспользованияОборудования );
стр.Вставить( "ЯвляетсяШаблоном", шаблонПрав.ЯвляетсяШаблоном );
стр.Вставить( "ГрафикРаботы", шаблонПрав.ГрафикРаботы );
стр.Вставить( "ПарольККМ", шаблонПрав.ПарольККМ );
стр.Вставить( "НаправлениеСервиса", шаблонПрав.НаправлениеСервиса );
стр.Вставить( "Руководитель", шаблонПрав.Руководитель );
стр.Вставить( "СкладыРазрешения", шаблонПрав.СкладыРазрешения );


////////////////////////
/// ПРОБЛЕМА ЗДЕСЬ ////
тз[сч].ШаблонПрав = стр;
////////////////////////

тз[сч].ШаблонПрав.Организация = Справочники.Организации.ПустаяСсылка();
тз[сч].ШаблонПрав.Подразделение = Справочники.ПодразделенияКомпании.ПустаяСсылка();
КонецЕсли;

КонецЕсли;

КонецЦикла;

ВыборкаДанных = тз;

Оффлайн alex0402

  • ***
  • Сообщений: 185
  • РЕПУТАЦИЯ: 18
  • КПД: 10%
  • Регистрация: 2010-09-10
  • Сайт: 
тз[сч].ШаблонПрав = стр;
а какой тип данных у тз[сч].ШаблонПрав?


Оффлайн masaraksh123

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-04
  • Сайт: 
тз[сч].ШаблонПрав = стр;
а какой тип данных у тз[сч].ШаблонПрав?

У него тип Пользователь. Но дело не в этом, а в том, что при выгрузке из запроса создается ТЗ со строго определёнными типами колонок. Тип после выгрузки не изменить. Пришлось делать новую ТЗ с такой же структурой и перегружать данные в неё.


Теги:
 


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

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

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


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

* Реклама

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

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

MuI_I_Ika MuI_I_Ika
80 Сообщений
cska-fanat-kz cska-fanat-kz
70 Сообщений
Kironten
52 Сообщений
alex0402
47 Сообщений
LexaK
34 Сообщений
alexandr_ll
34 Сообщений
Андрей1966
24 Сообщений
djkeysi
24 Сообщений
sertak sertak
23 Сообщений
BuhRust
22 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal