в данной части кода появляется ошибка
ЭлементыПланировщика = ДокументРасписание.Элементы;
ЭлементыПланировщика.Очистить();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаписьНаЗанятия.Оборудование,
| ЗаписьНаЗанятия.ДатаНачала КАК Начало,
| ЗаписьНаЗанятия.ДатаОкончания КАК Конец,
| ЗаписьНаЗанятия.Клиент КАК Наименование
|ИЗ
| РегистрСведений.ЗаписьНаЗанятия КАК ЗаписьНаЗанятия
|ГДЕ
| ЗаписьНаЗанятия.ДатаНачала >= &ДатаНачала
| И ЗаписьНаЗанятия.ДатаОкончания <= &ДатаОкончания";
Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ВыборДаты));
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ВыборДаты));
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
Документ = Результат.Ссылка.ПолучитьОбъект();
СоответствиеЗначений = Новый Соответствие;
СоответствиеЗначений.Вставить("Оборудование", Документ.Оборудование.Наименование);
НовыйЭлемент = ЭлементыПланировщика.Добавить(Документ.Начало, Документ.Конец);
НовыйЭлемент.ЗначенияИзмерений = Новый ФиксированноеСоответствие(СоответствиеЗначений);
НовыйЭлемент.Текст = Документ.Наименование;
КонецЦикла;
ПоказатьСсылка Ошибка чтения значения Запрос.Выполнить().Выбрать()
Результат.Следующий() {(1)}: Значение не является значением объектного типа (Следующий)
По теме из базы знаний
- Автоматическая установка себестоимости номенклатуры для конфигурации Розница 2.0 (2.1) +Бонус, исправляем ошибки при настройке расписания запуска для внешних обработок в Рознице 2.0
- Возможные ошибки ЗУП 3.0, обработка пересчета ФОТ
- Заполнение трудовой функции в штатном расписании (ERP 2.4, ERP 2.5, КА 2.4, КА 2.5, ЗУП)
- Расписание: объект и примеры применения
- 1С:Автоматизированное составление расписания
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(94) dj_serega, вы про этот код?
СоздатьЗаписьЭлементаПлана - что это такое?
&НаКлиенте
Процедура ПланировщикПередСозданиемЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
// Тут выполняется обновление текущего элемента расписания
СоздатьЗаписьЭлементаПлана(ДополнительныеПараметры.Врач, ДополнительныеПараметры.Начало, ДополнительныеПараметры.Конец - 1, Результат);
КонецПроцедуры
ПоказатьСоздатьЗаписьЭлементаПлана - что это такое?
(96) dj_serega, а можете подсказать как соотнести с моей базой
&НаКлиенте
Процедура ПланировщикПередСозданиемЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
// Тут выполняется обновление текущего элемента расписания
СоздатьЗаписьЭлементаПлана(ДополнительныеПараметры.Оборудование, ДополнительныеПараметры.Начало, ДополнительныеПараметры.Конец - 1, Результат);
КонецПроцедуры
Процедура СоздатьЗаписьЭлементаПлана(Оборудование, Начало, Конец, Результат)
ЭлементыПланировщика = ДокументРасписание.Элементы;
// Связка записей с измерениями выполняется через соответствия
СоответствиеЗначений = Новый Соответствие;
СоответствиеЗначений.Вставить("Оборудование", Оборудование);
// Добавление новой записи в промежуток времени
НовыйЭлемент = ЭлементыПланировщика.Добавить(Начало, Конец);
НовыйЭлемент.ЗначенияИзмерений = Новый ФиксированноеСоответствие(СоответствиеЗначений);
НовыйЭлемент.Текст = Результат;
КонецПроцедуры
Показать
(100) dj_serega, можете подсказать что мне еще надо сделать с кодом чтобы сразу открывался документ, а не форма редактирования
&НаКлиенте
Процедура ДокументРасписаниеВыбор(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка=Ложь;
МассивВыделенныхЭлементов = Элементы.ДокументРасписание.ВыделенныеЭлементы;
Если Не МассивВыделенныхЭлементов.Количество() Тогда
Возврат;
КонецЕсли;
ВыделенныйЭлементПланировщика = МассивВыделенныхЭлементов[0];
ОткрытьФорму("Документ.ЗаписьНаЗанятия.Форма.ФормаДокумента", Новый Структура("Ключ", ВыделенныйЭлементПланировщика));
КонецПроцедуры
Показать
(108) Emiliya_Emili, У Вас в "ВыделенныйЭлементПланировщика = МассивВыделенныхЭлементов[0];" хранятся периоды и другие параметры текущего элемента. Там и есть ссылка на документ (если он был заполнен при наполнении).
Скорее всего так:
Потому в процедуре ПланировщикПередСозданиемЗавершение в параметре "ДополнительныеПараметры" у нас есть текуший элемент планировщика "ВыделенныйЭлементПланировщика".
Там мы получаем текущий документ. Читаем его реквизиты (начало, конец и тд) и изменяем элемент на форме.
Скорее всего так:
ТекущийДокумент = ВыделенныйЭлементПланировщика.Значение;
ОткрытьФорму("...", Новый Структура("Ключ", ТекущийДокумент), ЭтаФорма,,,,
Новый ОписаниеОповещения("ПланировщикПередСозданиемЗавершение", ЭтотОбъект, ВыделенныйЭлементПланировщика), РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
Потому в процедуре ПланировщикПередСозданиемЗавершение в параметре "ДополнительныеПараметры" у нас есть текуший элемент планировщика "ВыделенныйЭлементПланировщика".
Там мы получаем текущий документ. Читаем его реквизиты (начало, конец и тд) и изменяем элемент на форме.
ВыделенныйЭлементПланировщика.Начало =....;
ВыделенныйЭлементПланировщика.Конец = ....,;
(109) dj_serega, вот что получается
&НаКлиенте
Процедура ДокументРасписаниеВыбор(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка=Ложь;
МассивВыделенныхЭлементов = Элементы.ДокументРасписание.ВыделенныеЭлементы;
Если Не МассивВыделенныхЭлементов.Количество() Тогда
Возврат;
КонецЕсли;
ВыделенныйЭлементПланировщика = МассивВыделенныхЭлементов[0];
ТекущийДокумент = ВыделенныйЭлементПланировщика.Значение;
ОткрытьФорму("Документ.ЗаписьНаЗанятия.Форма.ФормаДокумента", Новый Структура("Ключ", ТекущийДокумент), ЭтаФорма,,,,
Новый ОписаниеОповещения("ПланировщикПередСозданиемЗавершение", ЭтотОбъект, ВыделенныйЭлементПланировщика));
КонецПроцедуры
Показать
(111) dj_serega, он у меня на этой части кода останавливается и дальше не идет, ав когда пытаюсь выбрать то он открывает стандартную обработку
он не определяет параметр результат в строке
что он должен содержать?
он не определяет параметр результат в строке
ПланировщикПередСозданиемЗавершение(Результат, ДополнительныеПараметры) Экспорт
что он должен содержать?
(113) dj_serega, что в этой процедуре должен передавать параметр результат?
&НаКлиенте
Процедура ПланировщикПередСозданиемЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
СоздатьЗаписьЭлементаПлана(ДополнительныеПараметры.Оборудование, ДополнительныеПараметры.ДатаНачала, ДополнительныеПараметры.ДатаОкончания, Результат);
КонецПроцедуры
Процедура ПланировщикПередСозданиемЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
СоздатьЗаписьЭлементаПлана(ДополнительныеПараметры.Оборудование, ДополнительныеПараметры.ДатаНачала, ДополнительныеПараметры.ДатаОкончания, Результат);
КонецПроцедуры
(114) Emiliya_Emili, Читаем справку. Там написано следующее:
<ОписаниеОповещенияОЗакрытии> (необязательный)
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана после закрытия формы со следующими параметрами:
<РезультатЗакрытия> - значение, переданное при вызове метода Закрыть открываемой формы,
<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
Если параметр не указан, то по завершению никакая процедура вызвана не будет.
Игнорируется на мобильной платформе.
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана после закрытия формы со следующими параметрами:
<РезультатЗакрытия> - значение, переданное при вызове метода Закрыть открываемой формы,
<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
Если параметр не указан, то по завершению никакая процедура вызвана не будет.
Игнорируется на мобильной платформе.
(115) dj_serega, то есть параметр Результат это ЭтотОбъект, а доп параметры это СтруктураОповещения?
при отладке ЭтотОбъект - управляемая форма, а в результат не передается?
при отладке ЭтотОбъект - управляемая форма, а в результат не передается?
&НаКлиенте
Процедура ДокументРасписаниеПередСозданием(Элемент, Начало, Конец, Значения, Текст, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
СтруктураОповещения = Новый Структура;
СтруктураОповещения.Вставить("Оборудование", Значения.Получить("Оборудование"));
СтруктураОповещения.Вставить("ДатаНачала", Начало);
СтруктураОповещения.Вставить("ДатаОкончания", Конец);
ОткрытьФорму("Документ.ЗаписьНаЗанятия.Форма.ФормаДокумента",СтруктураОповещения, ЭтаФорма,,,,
Новый ОписаниеОповещения("ПланировщикПередСозданиемЗавершение", ЭтотОбъект, СтруктураОповещения),);
КонецПроцедуры
&НаКлиенте
Процедура ПланировщикПередСозданиемЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
СоздатьЗаписьЭлементаПлана(ДополнительныеПараметры.Оборудование, ДополнительныеПараметры.ДатаНачала, ДополнительныеПараметры.ДатаОкончания, Результат);
КонецПроцедуры
Показать
(116) Emiliya_Emili, Для того что бы в результате был документ нужно в форме документа создать кнопку "Провести и вернуть результат". Где пишете:
После закрытия формы созданного документа в параметре "Результат" будет ссылка на новый документ.
Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
Закрыть(Объект.Ссылка);
После закрытия формы созданного документа в параметре "Результат" будет ссылка на новый документ.
(105) Emiliya_Emili, Нужно вызвать обновление периода отображения.
Планировщик.НачалоПериодаОтображения = НачалоПериода;
Планировщик.КонецПериодаОтображения = КонецПериода;
Планировщик.ТекущиеПериодыОтображения.Очистить();
Планировщик.ТекущиеПериодыОтображения.Добавить(Планировщик.НачалоПериодаОтображения, Планировщик.КонецПериодаОтображения);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот