Здравствуйте!
1С 8.2 УНФ
Создаю Документ ПоступлениеВКассу
Кое что заполняю в этом документе, но самое главное не могу заполнить
поле ДокументОснование,
А документом основания служит РасходнаяНакладная.
Как решить эту проблему?
Прошу сильно не пинать,
Пытался получить ссылку на документ(текст в комментариях), не находит документов, хотя они 100% есть.
Процедура ЗвБДПоступлениеВКассур()
Для Каждого СтрокаТабл Из ТЗПоступлениеВКассу Цикл
Дп = Документы.ПоступлениеВКассу.СоздатьДокумент();
Дп.Дата = СтрокаТабл.Дата;
Дп.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ОтПокупателя;
Дп.Касса = Справочники.Кассы.НайтиПоКоду("000000001");
Дп.Статья = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("00-000003");
Дп.ВалютаДенежныхСредств = Справочники.Валюты.НайтиПоНаименованию(СтрокаТабл.ВалютаДокумента);
Дп.СуммаДокумента = СтрокаТабл.СуммаДокумента;
Дп.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(СтрокаТабл.Контрагент);
Дп.НалогообложениеНДС = Перечисления.ТипыНалогообложенияНДС.ОблагаетсяНДС;
//ДокСсылка = Документы.РасходнаяНакладная.НайтиПоНомеру(Сред(СтрокаТабл.ДокументОснование,27,12));
//Если ДокСсылка.Пустая() Тогда
// //Текст = "ru = ""Документ не найден!""; en = ""Document not found!""";
// //Предупреждение(НСтр(Текст));
// Сообщить(Сред(СтрокаТабл.ДокументОснование,27,12) +" Документ не найден");
//Иначе
// ДокОбъект = ДокСсылка.ПолучитьОбъект();
// Дп.ДокументОснование = ДокОбъект;
// ДокОбъект.Записать();
//КонецЕсли;
Дп.Комментарий = СтрокаТабл.Комментарий;
Если СтрокаТабл.Проведен = Истина Тогда
Дп.Записать(РежимЗаписиДокумента.Проведение);
Иначе
Дп.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
а если так:
.НайтиПоНомеру(СтрокаТабл.ДокументОснование.Номер)
//ДокСсылка = Документы.РасходнаяНакладная.НайтиПоНомеру(Сред(СтрокаТабл.ДокументОснование,27,12));
//Если ДокСсылка.Пустая() Тогда
// //Текст = "ru = ""Документ не найден!""; en = ""Document not found!""";
// //Предупреждение(НСтр(Текст));
// Сообщить(Сред(СтрокаТабл.ДокументОснование,27,12) +" Документ не найден");
//Иначе
// ДокОбъект = ДокСсылка.ПолучитьОбъект();
// Дп.ДокументОснование = ДокОбъект;
// ДокОбъект.Записать();
//КонецЕсли;
Советую посмотреть в отладчике, что выдает Ваше выражение "Сред(СтрокаТабл.ДокументОснование,27,12)"
Дп.ДокументОснование = СтрокаТабл.ДокументОснование;
Я бы на Вашем месте поработал бы над созданием и заполнением таблицы "ТЗПоступлениеВКассу", чтобы в колонках "ДокументОснование", "Контрагент" были уже готовые ссылки, а не строковые значения.
Вобще, что у вас содержит эта таблица - текст что ли? Просто к чему вот это:
Дп.ВалютаДенежныхСредств = Справочники.Валюты.НайтиПоНаименованию(СтрокаТабл.ВалютаДокумента);
Дп.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(СтрокаТабл.Контрагент);
Для Каждого СтрокаТЗ Из ТЗ Цикл
НовДок = Документы.ПоступлениеВКассу.СоздатьДокумент();
НовДок.Заполнить(СтрокаТЗ.СсылкаНаРН);
// Ну и тут можно поменять в РКО что-то что не устраивает
НовДок.Записать();
КонецЦикла
Ну если:
Код формирования таблицы
Процедура ПриходКассовыйОрдер()
Запрос = База.NewObject("Запрос");
Запрос.Текст = "ВЫБРАТЬ
| ПРЕДСТАВЛЕНИЕССЫЛКИ(ПриходныйКассовыйОрдер.Ссылка) КАК Ссылка,
| ПриходныйКассовыйОрдер.ПометкаУдаления,
| ПриходныйКассовыйОрдер.Номер,
| ПриходныйКассовыйОрдер.Дата,
| ПриходныйКассовыйОрдер.Проведен,
| ПриходныйКассовыйОрдер.Организация,
| ПриходныйКассовыйОрдер.СчетКасса,
| ПРЕДСТАВЛЕНИЕССЫЛКИ(ПриходныйКассовыйОрдер.ВидОперации) КАК ВидОперации,
| ПриходныйКассовыйОрдер.Контрагент,
| ПриходныйКассовыйОрдер.ДоговорКонтрагента,
| ПриходныйКассовыйОрдер.ВалютаДокумента,
| ПриходныйКассовыйОрдер.СуммаДокумента,
| ПриходныйКассовыйОрдер.ПринятоОт,
| ПриходныйКассовыйОрдер.Основание,
| ПриходныйКассовыйОрдер.Ответственный,
| ПриходныйКассовыйОрдер.Комментарий,
| ПРЕДСТАВЛЕНИЕССЫЛКИ(ПриходныйКассовыйОрдер.ДокументОснование) КАК ДокументОснование,
| ПриходныйКассовыйОрдер.СчетОрганизации,
| ПРЕДСТАВЛЕНИЕССЫЛКИ(ПриходныйКассовыйОрдер.СтавкаНДС) КАК СтавкаНДС,
| ПриходныйКассовыйОрдер.ВыручкаСНТТ,
| ПриходныйКассовыйОрдер.НомерОрдера,
| ПриходныйКассовыйОрдер.НазначениеДенежныхСредств,
| ПриходныйКассовыйОрдер.ПоОбособленномуПодразделению,
| ПриходныйКассовыйОрдер.РучнаяКорректировка,
| ПриходныйКассовыйОрдер.ВыводитьНаПечатьСуммуНДС,
| ПриходныйКассовыйОрдер.УДАЛИТЬОтражатьВНалоговомУчете
| ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер";
Результат = Запрос.Выполнить().Выгрузить();
ТЗПоступлениеВКассу.Очистить();
Ном = 1;
Для Каждого СтрокаТ из Результат Цикл
СтрокаТаб = ТЗПоступлениеВКассу.Добавить();
СтрокаТаб.Ном = Ном;
СтрокаТаб.Ссылка = СтрокаТ.Ссылка;
СтрокаТаб.ПометкаУдаления = СтрокаТ.ПометкаУдаления;
СтрокаТаб.Номер = СтрокаТ.Номер;
СтрокаТаб.Дата = СтрокаТ.Дата;
СтрокаТаб.Проведен = СтрокаТ.Проведен;
СтрокаТаб.Организация = СтрокаТ.Организация.Description;
СтрокаТаб.СчетКасса = СтрокаТ.СчетКасса.Code;
СтрокаТаб.ВидОперации = СтрокаТ.ВидОперации;
СтрокаТаб.Контрагент = СтрокаТ.Контрагент.Description;
Если СтрокаТ.ДоговорКонтрагента.Description = "Основний договір" Тогда
СтрокаТаб.ДоговорКонтрагента = "Основной договор"
Иначе
СтрокаТаб.ДоговорКонтрагента = СтрокаТ.ДоговорКонтрагента.Description;
КонецЕсли;
СтрокаТаб.ВалютаДокумента = СтрокаТ.ВалютаДокумента.Description;
СтрокаТаб.СуммаДокумента = СтрокаТ.СуммаДокумента;
СтрокаТаб.ПринятоОт = СтрокаТ.ПринятоОт;
СтрокаТаб.Основание = СтрокаТ.Основание;
СтрокаТаб.Ответственный = СтрокаТ.Ответственный.Description;
СтрокаТаб.Комментарий = СтрокаТ.Комментарий;
СтрокаТаб.ДокументОснование = СтрокаТ.ДокументОснование;
СтрокаТаб.СчетОрганизации = СтрокаТ.СчетОрганизации.Description;
СтрокаТаб.СтавкаНДС = СтрокаТ.СтавкаНДС;
СтрокаТаб.ВыручкаСНТТ = СтрокаТ.ВыручкаСНТТ;
СтрокаТаб.НомерОрдера = СтрокаТ.НомерОрдера;
СтрокаТаб.НазначениеДенежныхСредств = СтрокаТ.НазначениеДенежныхСредств.Description;
СтрокаТаб.ПоОбособленномуПодразделению = СтрокаТ.ПоОбособленномуПодразделению;
СтрокаТаб.РучнаяКорректировка = СтрокаТ.РучнаяКорректировка;
СтрокаТаб.ВыводитьНаПечатьСуммуНДС = СтрокаТ.ВыводитьНаПечатьСуммуНДС;
СтрокаТаб.УДАЛИТЬОтражатьВНалоговомУчете = СтрокаТ.УДАЛИТЬОтражатьВНалоговомУчете;
Ном = Ном + 1;
КонецЦикла;
КонецПроцедуры
Не понял, если:
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua