INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Ткаченко Денис | Конструктор | ОАО "РЖД"

«Корпоративные IT отделы на Дальнем Востоке обречены. Обречены на изменения»

Трансформируйся или умри, это Неизбежность корпоративного АйТи отдела. Модные слова про цифровизацию и клиентоориентированность спасут ненадолго, на срок провального проекта. Изменениям должна быть подвергнута система управления IT. Потому что IT изменилось и мы изменились. Эта отрасль уже не хобби энтузиастов и калька с учебников по управлению прошлого века не работает. Поднимаем голову от интриг и смотрим что случилось с кадровым рынком, если еще не посмотрели. Ну и где мы будем брать сотрудников в штат? А через пять лет? Из институтов? Готовим сами?, окей. Создали систему подготовки, мотивации и развития своих кадров? Эта система убъёт Ваш IT отдел. Отдали разработку и поддержку на аутсорс. Вы же понимаете, что это временно, их убьют те же проблемы. В общем нужно учиться управлять по другому, управлять не управляя. Нужно ли быть специалистом, чтобы управлять специалистами? Несомненно! это и есть ключевой момент. Заманчиво выглядит растворить систему менеджмента, в операционных процессах не увеличивая затраты? Очень. Формулируем Проблему. Рисуем Решение. Намечаем Шаги. Строим Систему.

1. user1029161 08.08.18 16:51 Сейчас в теме

Поле объекта не обнаружено

Всем здравствуйте! Примерная задача: из текстового файла нужно получить данные и создать документ с реквизитами из файла.

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

&НаСервере           
Функция загрузитьОбъектПриСозданииНаСервер()
	НовыйДок = Документы.АвансовыйОтчет.СоздатьДокумент();
	НовыйДок.Дата = ТекущаяДата();
		 ПутьКФайлу = Объект.Файл + "\out.txt";
    ТекстовыйФайл = Новый ТекстовыйДокумент;
 
    ТекстовыйФайл.Прочитать(
        ПутьКФайлу,
        КодировкаТекста.UTF8, 
        Символы.ВК + Символы.ПС
    );
	Индекс =2;
    Пока Индекс < ТекстовыйФайл.КоличествоСтрок() Цикл
		//Сообщить("РЕКВИЗИТ = "+ ТекстовыйФайл.ПолучитьСтроку(Индекс));
		//Сообщить("ЗНАЧЕНИЕ РЕКВИЗИТА = "+ТекстовыйФайл.ПолучитьСтроку(Индекс+1));
		НазваниеРеквизита =ТекстовыйФайл.ПолучитьСтроку(Индекс);
		ЗначениеРеквизита = ТекстовыйФайл.ПолучитьСтроку(Индекс+1);
		НовыйДок.НазваниеРеквизита = ЗначениеРеквизита;
		Индекс = Индекс + 2 ;
    КонецЦикла;
	НовыйДок.Записать();
	Возврат НовыйДок;
КонецФункции
Показать



Выдаёт "Поле объекта не обнаружено(Название реквизита)"

В чём ошибка? Подскажите пожалуйста
Ответы
Сортировка: Древо
3. spacecraft 08.08.18 16:56 Сейчас в теме
(1)
НовыйДок.НазваниеРеквизита = ЗначениеРеквизита;

Нет такого реквизита (НазваниеРеквизита) у объекта НовыйДок.
4. user705522_constantin_h 7 08.08.18 17:04 Сейчас в теме
(1)Значит у вас в файле НазваниеРеквизита не совпадает с Реквизитом в документе АвансовыйОтчёт. Проверьте ваш файл на наличие указанных в нём реквизитов в документе АвансовыйОтчет.
2. harmer 3 08.08.18 16:56 Сейчас в теме
Замените
НовыйДок.НазваниеРеквизита

на
НовыйДок[НазваниеРеквизита]
user1029161; singlych; +2 Ответить
5. user1029161 08.08.18 17:16 Сейчас в теме
(2)Ваше решение помогло, спасибо!
Но теперь возникла ошибка
"{ВнешняяОбработка.ПерегрузкаДокумента.Форма.Документ.Форма(57)}: Ошибка при вызове метода контекста (загрузитьОбъектПриСозданииНаСервер)
загрузитьОбъектПриСозданииНаСервер();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://v8.1c.ru/8.1/data/enterprise/current-config}Ref Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType"

Буду благодарна, если подскажете, как с ней бороться.
6. Xershi 387 08.08.18 17:22 Сейчас в теме
(5) ДокументОбъект существует на сервере. Передавайте его ссылку на клиент!
9. harmer 3 08.08.18 17:45 Сейчас в теме
(5) Проблема написана в (6). Из функции "загрузитьОбъектПриСозданииНаСервер" сделайте процедуру, Вы же все равно результат функции никак не используете.
ВыбранныйДокумент = Объект.Документ;
загрузитьОбъектПриСозданииНаСервер();
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Документ создан");
11. user603532_fan_club_chelsea 09.08.18 06:30 Сейчас в теме
(5) попробуйте

ВыбранныйДокумент = загрузитьОбъектПриСозданииНаСервер();
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Документ создан" + ВыбранныйДокумент );

&НаСервере - попробуйте убрать...
7. V.Stavinsky 184 08.08.18 17:37 Сейчас в теме
для чего вопше эта строка "ВыбранныйДокумент = Объект.Документ;"?
8. KORUS_Consulting 08.08.18 17:41 Сейчас в теме
Возврат НовыйДок.ссылка;
10. V.Stavinsky 184 08.08.18 18:54 Сейчас в теме
12. Alex_CheST 1 09.08.18 08:40 Сейчас в теме
Какая то странная функция у вас. Сделайте процедурой и уберите возврат.
13. user1029161 09.08.18 12:29 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Одесса (Украина)
зарплата от 40 000 руб.
Полный день

Программист 1С
Санкт-Петербург
Полный день

Аналитик 1С
Москва
зарплата от 80 000 руб. до 120 000 руб.
Полный день

1С Developer
Одесса (Украина)
зарплата от 60 000 руб. до 120 000 руб.
Полный день

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 70 000 руб. до 90 000 руб.
Полный день