Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)
В документе РКО в модулях по проведению и распроведения имеется код:
Для Каждого Заявка Из РасшифровкаПлатежа Цикл
Попытка
Док = Заявка.ДокументПланированияПлатежа.ПолучитьОбъект();
Док.РКО = Ссылка;
Док.Записать(РежимЗаписиДокумента.Запись);
Исключение
КонецПопытки;
КонецЦикла;
Constantus @ Сегодня, 13:39
,
Попробуйте поставить Остановку по ошибке в конфигруаторе, увиите где при записи возникает ошибка.
Не и можно в Попытке НачатьТранзацкию, может поможет.
Ну и код при отмене проведения
Для Каждого Заявка Из РасшифровкаПлатежа Цикл
Попытка
Док = Заявка.ДокументПланированияПлатежа.ПолучитьОбъект();
Док.РКО = Документы.РасходныйКассовыйОрдер.ПустаяСсылка();
Док.Записать(РежимЗаписиДокумента.Запись);
Исключение
КонецПопытки;
КонецЦикла;
Попробовал убрать "Попытку"
Для Каждого Заявка Из РасшифровкаПлатежа Цикл
//Попытка
Если НЕ РазрешеныПлатежи[0].Значение Тогда
Док = Заявка.ДокументПланированияПлатежа.ПолучитьОбъект();
Док.РКО = Ссылка;
Док.Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;
//Исключение
//КонецПопытки;
КонецЦикла;
Для Каждого Заявка Из РасшифровкаПлатежа Цикл
//Попытка
Если НЕ РазрешеныПлатежи[0].Значение Тогда
Док = Заявка.ДокументПланированияПлатежа.ПолучитьОбъект();
Док.РКО = Ссылка;//Документы.РасходныйКассовыйОрдер.ПустаяСсылка();
Док.Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;
//Исключение
//КонецПопытки;
КонецЦикла;
Зачем это вообще делать? Шоб базу положить?
иЙолки-палочки... Всё перепробовал, даже открытие формы Заявок
Для Каждого Заявка Из РасшифровкаПлатежа Цикл
Док = Заявка.ДокументПланированияПлатежа.ПолучитьОбъект();
Док.РКО = Документы.РасходныйКассовыйОрдер.ПустаяСсылка();
Форма = Док.ПолучитьФорму("ФормаДокумента");
Форма.Открыть();
//Форма.ЭлементыФормы.РКО = Документы.РасходныйКассовыйОрдер.ПустаяСсылка();
//Форма.Закрыть();
//Док.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла;
Вот сделал такую вещч:
Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок)
// Соответствие создается для заполнения остатков в строках табличного поля
Для каждого Стр из ОформленияСтрок Цикл
Стр.Ячейки.РРКО.Значение = ПолучитьРКО(Стр.ДанныеСтроки.Ссылка);
КонецЦикла;
КонецПроцедуры
Функция ПолучитьРКО(Основа)
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ДвиженияДенежныхСредств.Регистратор
|ИЗ
| РегистрНакопления.ДвиженияДенежныхСредств КАК ДвиженияДенежныхСредств
|ГДЕ
| ДвиженияДенежныхСредств.ДокументПланированияПлатежа = &Основа";
Запрос.УстановитьПараметр("Основа", Основа);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Результат = ВыборкаДетальныеЗаписи.Регистратор;
КонецЦикла;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
Возврат Результат;
КонецФункции
На ИТС нашел вот такой код: http://pro1c.org.ua/redirect.php?https://its.1c.ru/db/metod8dev#content:2805:hdoc
Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок)
Соответствие = Новый Соответствие;
// Заполнение параметра - массива значений ссылками на отображаемые строки табличного поля
СсылкиМассив = Новый Массив;
Для каждого Стр из ОформленияСтрок Цикл
СсылкиМассив.Добавить(Стр.ДанныеСтроки.Ссылка);
Соответствие.Вставить(Стр.ДанныеСтроки.Ссылка, Стр);
КонецЦикла;
// Сформировать запрос для получения остатков
ЗапросОстатка = Новый Запрос;
ЗапросОстатка.Текст = "ВЫБРАТЬ
| ДвиженияДенежныхСредств.Регистратор Как Регистратор
|ИЗ
| РегистрНакопления.ДвиженияДенежныхСредств КАК ДвиженияДенежныхСредств
|ГДЕ
| ДвиженияДенежныхСредств.ДокументПланированияПлатежа В(&ДокументПланированияПлатежа)";
ЗапросОстатка.УстановитьПараметр("ДокументПланированияПлатежа", СсылкиМассив);
Выборка = ЗапросОстатка.Выполнить().Выбрать();
//Вывести остаток в строку, найденную в соответствии по номенклатуре из запроса
Пока Выборка.Следующий() Цикл
Соответствие.Получить(Выборка.Регистратор).Ячейки.РРКО.Значение = Выборка.Регистратор;
КонецЦикла;
КонецПроцедуры
{Документ.ЗаявкаНаРасходованиеСредств.Форма.ФормаСписка.Форма(146)}: Значение не является значением объектного типа (Ячейки)
Соответствие.Получить(Выборка.Регистратор).Ячейки.РРКО.Значение = Выборка.Регистратор;
МассивЗаказов = Новый Массив;
Для Каждого Стр Из ОформленияСтрок Цикл
МассивЗаказов.Добавить(Стр.ДанныеСтроки.Ссылка);
КонецЦикла;
// Формируем запрос к остаткам заказов
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДвиженияДенежныхСредств.Регистратор,
| ДвиженияДенежныхСредств.ДокументПланированияПлатежа
|ИЗ
| РегистрНакопления.ДвиженияДенежныхСредств КАК ДвиженияДенежныхСредств
|ГДЕ
| ДвиженияДенежныхСредств.ДокументПланированияПлатежа В(&МассивЗаказов)"
;
Запрос.УстановитьПараметр("МассивЗаказов", МассивЗаказов);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
// Обрабатываем результат
Для Каждого Стр Из ОформленияСтрок Цикл
Если Выборка.НайтиСледующий(Новый Структура("ДокументПланированияПлатежа", Стр.ДанныеСтроки.Ссылка)) Тогда
Стр.Ячейки.РРКО.Текст = Выборка.Регистратор;
Иначе
Стр.Ячейки.РРКО.Текст = 0;
КонецЕсли;
Стр.Ячейки.РРКО.ОтображатьТекст = Истина;
Выборка.Сбросить();
КонецЦикла;
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua