При нажатии на кнопку нужно создавать документы на выбранную дату
Конфигурации 1cv8
1С:ERP Управление предприятием 2
1С
Бухгалтерский учет
Управленческий учет
Налоговый учет
Программист
Стажер
Внешняя обработка (ert,epf)
1.
Гость
30.03.21 15:33
Во внешней обработке нужно, чтобы при выборе даты и нажатие на кнопку Создать документы БУ, новый документ создавался выбранной датой. Как это сделать помогите пожалуйста
&НаСервере
Процедура СоздатьДокументыБУНаСервере()
Для Каждого СтрокаДерева Из ДокументыДерево.ПолучитьЭлементы() Цикл
НачатьТранзакцию(РежимУправленияБлокировкойДанных.Управляемый);
ДокументУУ = СтрокаДерева.ДокументУУ;
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.стр_СвязиДокументовУУ_БУ");
ЭлементБлокировки.УстановитьЗначение("ДокументУУ", ДокументУУ);
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
Блокировка.Заблокировать();
МенеджерЗаписи = РегистрыСведений.стр_СвязиДокументовУУ_БУ.СоздатьМенеджерЗаписи();
МенеджерЗаписи.ДокументУУ = ДокументУУ;
МенеджерЗаписи.ДокументБУ = СтрокаДерева.ДокументБУ;
МенеджерЗаписи.Прочитать();
Если МенеджерЗаписи.Выбран() Тогда
ЗаполнитьЗначенияСвойств(СтрокаДерева, МенеджерЗаписи);
КонецЕсли;
Если (ЗначениеЗаполнено(СтрокаДерева.ДокументБУ) ИЛИ ЗначениеЗаполнено(СтрокаДерева.ДокументБУДав)) И НЕ Объект.ПерезаполнятьСозданные Тогда
ОтменитьТранзакцию();
Продолжить;
КонецЕсли;
Если ((ЗначениеЗаполнено(СтрокаДерева.ДокументБУ) И СтрокаДерева.ДокументБУ.Проведен) ИЛИ
(ЗначениеЗаполнено(СтрокаДерева.ДокументБУДав) И СтрокаДерева.ДокументБУДав.Проведен))
И НЕ Объект.ПерезаполнятьПроведенные Тогда
ОтменитьТранзакцию();
Продолжить;
КонецЕсли;
МетаданныеДокумента = СтрокаДерева.ДокументУУ.Метаданные();
ОшибкаОтображения = "";
ПараметрыДляОтображения = стр_ОМТС_Сервер.ФБД_ПараметрыДляОтображенияВБухДокумент();
ПараметрыДляОтображения.Вставить("Документ", СтрокаДерева.ДокументУУ);
ПараметрыДляОтображения.Вставить("БухДокументСсылка", СтрокаДерева.ДокументБУ);
ПараметрыДляОтображения.Вставить("БухДокументСсылкаДав", СтрокаДерева.ДокументБУДав);
ПараметрыДляОтображения.Вставить("СПартиями", Объект.СписаниеПоДокументамПартий);
ДокументСоздан = Документы[МетаданныеДокумента.Имя].ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения);
СтрокаДерева.ДокументБУ = ПараметрыДляОтображения.БухДокументСсылка;
СтрокаДерева.ДокументБУДав = ПараметрыДляОтображения.БухДокументСсылкаДав;
Если ДокументСоздан Тогда
ЗафиксироватьТранзакцию();
Иначе
ОтменитьТранзакцию();
КонецЕсли;
СтрокаДерева.БУПроведен = ?(Не СтрокаДерева.ДокументБУ = Неопределено,
стр_ОМТС_Сервер.ПолучитьЗначениеРеквизитаОбъектаПоСсылке(СтрокаДерева.ДокументБУ, "Проведен"), Ложь);
СтрокаДерева.БУДавПроведен = ?(Не СтрокаДерева.ДокументБУДав = Неопределено,
стр_ОМТС_Сервер.ПолучитьЗначениеРеквизитаОбъектаПоСсылке(СтрокаДерева.ДокументБУДав, "Проведен"), Ложь);
НовСтр = ТаблоСообщений.Добавить();
НовСтр.Ошибка = Не ДокументСоздан;
НовСтр.Текст = ОшибкаОтображения;
КонецЦикла;
Если ТаблоСообщений.Количество() Тогда
Элементы.ТаблоСообщений.Видимость = Истина;
КонецЕсли;
КонецПроцедуры
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Перенос остатков, документов и справочников из БП 3.0 в УТ 10.3. Переносятся остатки товаров, взаиморасчетов и денежных средств, а также документы и справочники
- Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы
- Смета в "1С:Бухгалтерия 3.0" - создавать, сохранять, работать.
- Загрузка чеков в 1С из ФНС в документы БП, УНФ, ERP, КА и УТ
- Смета в 1С:УНФ - создать, сохранить, распечатать
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
1. При нажатиИ (для проверки смотри как написаны ПриОткрытии, ПриСоздании и т.д.)
2. "создавался выбранной датой" - выбранной где/как?
3. Где-то перед завершением транзакции получи созданный документ, поставь в нём нужную дату, сохрани с проведением.
2. "создавался выбранной датой" - выбранной где/как?
3. Где-то перед завершением транзакции получи созданный документ, поставь в нём нужную дату, сохрани с проведением.
Это решение
7.
Гость
30.03.21 22:17
(6)
Функция ФБД_ПараметрыДляОтображенияВБухДокумент() Экспорт
ПараметрыДляОтображения = Новый Структура;
ПараметрыДляОтображения.Вставить("Документ", Неопределено);
ПараметрыДляОтображения.Вставить("БухДокументСсылка", Неопределено);
ПараметрыДляОтображения.Вставить("БухДокументСсылкаДав", Неопределено);
ПараметрыДляОтображения.Вставить("СПартиями", Ложь);
ПараметрыДляОтображения.Вставить("НеотфактурованнаяПоставка", Ложь);
ПараметрыДляОтображения.Вставить("СворачиватьСтрокиВАвансовомОтчете", Ложь);
ПараметрыДляОтображения.Вставить("ГруппироватьДанныеВБухучете", Ложь);
ПараметрыДляОтображения.Вставить("ДатаНачала", '00010101');
ПараметрыДляОтображения.Вставить("ДатаОкончания", '00010101');
Возврат ПараметрыДляОтображения;
КонецФункции
Показать
Это решение
9.
Гость
30.03.21 22:58
(8) Больше нигде эта функция не встречается
ПараметрыДляОтображения = стр_ОМТС_Сервер.ФБД_ПараметрыДляОтображенияВБухДокумент();
Документ.Дата = Элементы.ДатаСозданияБухгалтерскихДокументов;
ПараметрыДляОтображения.Вставить("Документ", СтрокаДерева.ДокументУУ);
ПараметрыДляОтображения.Вставить("БухДокументСсылка", СтрокаДерева.ДокументБУ);
ПараметрыДляОтображения.Вставить("БухДокументСсылкаДав", СтрокаДерева.ДокументБУДав);
ПараметрыДляОтображения.Вставить("СПартиями", Объект.СписаниеПоДокументамПартий);
ДокументСоздан = Документы[МетаданныеДокумента.Имя].ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения);
СтрокаДерева.ДокументБУ = ПараметрыДляОтображения.БухДокументСсылка;
СтрокаДерева.ДокументБУДав = ПараметрыДляОтображения.БухДокументСсылкаДав;
Если ДокументСоздан Тогда
ЗафиксироватьТранзакцию();
Иначе
ОтменитьТранзакцию();
КонецЕсли;
Показать
Это решение
Как я понимаю в ПараметрыДляОтображения необходимо добавить новый параметр:
ПараметрыДляОтображения.Вставить("ДатаДокументаБУ", Элементы.ДатаСозданияБухгалтерскихДокументов);
Далее смотреть обработку данных параметров в модуле менеджера документа:
ДокументСоздан = Документы[МетаданныеДокумента.Имя].ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения);
необходимо в конфигурации найти документ, который создается в обработке, с модуле менеджера в функции ОтобразитьВБухгалтерскийДокумент добавить обработку параметра ДатаДокументаБУ вида :
Документ.Дата = ПараметрыДляОтображения.ДатаДокументаБУ;
более точно, нужен текст функции ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения)
ПараметрыДляОтображения.Вставить("ДатаДокументаБУ", Элементы.ДатаСозданияБухгалтерскихДокументов);
Далее смотреть обработку данных параметров в модуле менеджера документа:
ДокументСоздан = Документы[МетаданныеДокумента.Имя].ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения);
необходимо в конфигурации найти документ, который создается в обработке, с модуле менеджера в функции ОтобразитьВБухгалтерскийДокумент добавить обработку параметра ДатаДокументаБУ вида :
Документ.Дата = ПараметрыДляОтображения.ДатаДокументаБУ;
более точно, нужен текст функции ОтобразитьВБухгалтерскийДокумент(ПараметрыДляОтображения, ОшибкаОтображения)
Это решение
Внимание! Не забывайте отмечать решение на ваш вопрос, если оно найдено. Это повысит ваш рейтинг на форуме.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот