При нажатии на кнопку нужно создавать документы на выбранную дату

1. Гость 30.03.21 15:33
Во внешней обработке нужно, чтобы при выборе даты и нажатие на кнопку Создать документы БУ, новый документ создавался выбранной датой. Как это сделать помогите пожалуйста
&НаСервере
Процедура СоздатьДокументыБУНаСервере()
    
    Для Каждого СтрокаДерева Из ДокументыДерево.ПолучитьЭлементы() Цикл
        
    
        НачатьТранзакцию(РежимУправленияБлокировкойДанных.Управляемый);
        
        ДокументУУ = СтрокаДерева.ДокументУУ;
        
        Блокировка = Новый БлокировкаДанных;
        ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.стр_СвязиДокументовУУ_БУ");
        ЭлементБлокировки.УстановитьЗначение("ДокументУУ", ДокументУУ);
        ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
        Блокировка.Заблокировать(); 
        
        МенеджерЗаписи = РегистрыСведений.стр_СвязиДокументовУУ_БУ.СоздатьМенеджерЗаписи();
        МенеджерЗаписи.ДокументУУ = ДокументУУ;
        
        МенеджерЗаписи.ДокументБУ = СтрокаДерева.ДокументБУ;
        
        МенеджерЗаписи.Прочитать();
        Если МенеджерЗаписи.Выбран() Тогда
            
            ЗаполнитьЗначенияСвойств(СтрокаДерева, МенеджерЗаписи);    
            
        КонецЕсли;
        
        
        Если (ЗначениеЗаполнено(СтрокаДерева.ДокументБУ) ИЛИ ЗначениеЗаполнено(СтрокаДерева.ДокументБУДав)) И НЕ Объект.ПерезаполнятьСозданные Тогда
            ОтменитьТранзакцию();
            Продолжить;
        КонецЕсли;
        
        Если ((ЗначениеЗаполнено(СтрокаДерева.ДокументБУ) И СтрокаДерева.ДокументБУ.Проведен) ИЛИ
            (ЗначениеЗаполнено(СтрокаДерева.ДокументБУДав) И СтрокаДерева.ДокументБУДав.Проведен))
            И НЕ Объект.ПерезаполнятьПроведенные Тогда
            ОтменитьТранзакцию();
            Продолжить;
        КонецЕсли;
        
        
        МетаданныеДокумента = СтрокаДерева.ДокументУУ.Метаданные();
        
        ОшибкаОтображения = "";
        
        
        ПараметрыДляОтображения = стр_ОМТС_Сервер.ФБД_ПараметрыДляОтображенияВБухДокумент();
        
        ПараметрыДляОтображения.Вставить("Документ", СтрокаДерева.ДокументУУ);
        ПараметрыДляОтображения.Вставить("БухДокументСсылка", СтрокаДерева.ДокументБУ);
        ПараметрыДляОтображения.Вставить("БухДокументСсылкаДав", СтрокаДерева.ДокументБУДав);
        ПараметрыДляОтображения.Вставить("СПартиями", Объект.СписаниеПоДокументамПартий);
        
        ДокументСоздан = Документы[МетаданныеДокумента.Имя].ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения);
        
        СтрокаДерева.ДокументБУ = ПараметрыДляОтображения.БухДокументСсылка;
        СтрокаДерева.ДокументБУДав = ПараметрыДляОтображения.БухДокументСсылкаДав;
        
        
        
               
        Если ДокументСоздан Тогда
            
            ЗафиксироватьТранзакцию();
            
        Иначе
            
            ОтменитьТранзакцию();
            
        КонецЕсли;
        

        СтрокаДерева.БУПроведен = ?(Не СтрокаДерева.ДокументБУ = Неопределено, 
        стр_ОМТС_Сервер.ПолучитьЗначениеРеквизитаОбъектаПоСсылке(СтрокаДерева.ДокументБУ, "Проведен"), Ложь);
        СтрокаДерева.БУДавПроведен = ?(Не СтрокаДерева.ДокументБУДав = Неопределено, 
        стр_ОМТС_Сервер.ПолучитьЗначениеРеквизитаОбъектаПоСсылке(СтрокаДерева.ДокументБУДав, "Проведен"), Ложь);
        
        НовСтр = ТаблоСообщений.Добавить();
        НовСтр.Ошибка = Не ДокументСоздан;
        НовСтр.Текст = ОшибкаОтображения;    
        
        
    КонецЦикла;
    
    Если ТаблоСообщений.Количество() Тогда
        Элементы.ТаблоСообщений.Видимость = Истина;
    КонецЕсли;
    
КонецПроцедуры
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. sssss_aaaaa_2011 30.03.21 15:44 Сейчас в теме
1. При нажатиИ (для проверки смотри как написаны ПриОткрытии, ПриСоздании и т.д.)
2. "создавался выбранной датой" - выбранной где/как?
3. Где-то перед завершением транзакции получи созданный документ, поставь в нём нужную дату, сохрани с проведением.
3. DenisVol 2 30.03.21 15:45 Сейчас в теме
Там где создаете документ. пишите документ.дата = ВыбраннаяДата;
4. ive 3 30.03.21 16:04 Сейчас в теме
документ.дата = ВыбраннаяДата;

в бит_стр_ОМТС_Сервер.ФБД_ПараметрыДляОтображенияВБухДокумент()
5. Гость 30.03.21 18:12
Можно объяснить по подробнее?
(4)
6. ive 3 30.03.21 22:11 Сейчас в теме
(5) Посмотрите функцию ФБД_ПараметрыДляОтображенияВБухДокумент() в модуле бит_стр_ОМТС_Сервер
7. Гость 30.03.21 22:17
(6)
Функция ФБД_ПараметрыДляОтображенияВБухДокумент() Экспорт
    
    ПараметрыДляОтображения = Новый Структура;
    
    ПараметрыДляОтображения.Вставить("Документ", Неопределено);
    ПараметрыДляОтображения.Вставить("БухДокументСсылка", Неопределено);
    ПараметрыДляОтображения.Вставить("БухДокументСсылкаДав", Неопределено);
    ПараметрыДляОтображения.Вставить("СПартиями", Ложь);
    ПараметрыДляОтображения.Вставить("НеотфактурованнаяПоставка", Ложь);
    ПараметрыДляОтображения.Вставить("СворачиватьСтрокиВАвансовомОтчете", Ложь);
    
    ПараметрыДляОтображения.Вставить("ГруппироватьДанныеВБухучете", Ложь);
    ПараметрыДляОтображения.Вставить("ДатаНачала", '00010101');
    ПараметрыДляОтображения.Вставить("ДатаОкончания", '00010101');
    
    
    Возврат ПараметрыДляОтображения;
        
КонецФункции

Показать
8. ive 3 30.03.21 22:37 Сейчас в теме
(7) Модуль менеджера документа который обрабатывается, там функция ОтобразитьВБухгалтерскийДокумент
9. Гость 30.03.21 22:58
(8) Больше нигде эта функция не встречается
ПараметрыДляОтображения = стр_ОМТС_Сервер.ФБД_ПараметрыДляОтображенияВБухДокумент();
        Документ.Дата = Элементы.ДатаСозданияБухгалтерскихДокументов;
        ПараметрыДляОтображения.Вставить("Документ", СтрокаДерева.ДокументУУ);
        ПараметрыДляОтображения.Вставить("БухДокументСсылка", СтрокаДерева.ДокументБУ);
        ПараметрыДляОтображения.Вставить("БухДокументСсылкаДав", СтрокаДерева.ДокументБУДав);
        ПараметрыДляОтображения.Вставить("СПартиями", Объект.СписаниеПоДокументамПартий);
        
        ДокументСоздан = Документы[МетаданныеДокумента.Имя].ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения);
        
        СтрокаДерева.ДокументБУ = ПараметрыДляОтображения.БухДокументСсылка;
        СтрокаДерева.ДокументБУДав = ПараметрыДляОтображения.БухДокументСсылкаДав;
               
        Если ДокументСоздан Тогда
            
            ЗафиксироватьТранзакцию();
            
        Иначе
            
            ОтменитьТранзакцию();
            
        КонецЕсли;

Показать
10. ive 3 31.03.21 08:48 Сейчас в теме
Как я понимаю в ПараметрыДляОтображения необходимо добавить новый параметр:
ПараметрыДляОтображения.Вставить("ДатаДокументаБУ", Элементы.ДатаСозданияБухгалтерскихДокументов);


Далее смотреть обработку данных параметров в модуле менеджера документа:
ДокументСоздан = Документы[МетаданныеДокумента.Имя].ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения);

необходимо в конфигурации найти документ, который создается в обработке, с модуле менеджера в функции ОтобразитьВБухгалтерскийДокумент добавить обработку параметра ДатаДокументаБУ вида :
Документ.Дата = ПараметрыДляОтображения.ДатаДокументаБУ;
более точно, нужен текст функции ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения)
11. Гость 31.03.21 08:53
(10)Спасибо огромное)
Внимание! Не забывайте отмечать решение на ваш вопрос, если оно найдено. Это повысит ваш рейтинг на форуме.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот