Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 09:47

создание документа

Автор studentca, 09 июл 2012, 09:25

0 Пользователей и 1 гость просматривают эту тему.

studentca

Здравствуйте! Кто может подсказать мне мои ошибки в следующем коде :
не получается следующее:
1) строка "Контр.ЗачетАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически" не добавляем, потому что ЗачетАвансов не доступен для записи - как сделать так чтобы он стал доступен?

2) номенклатура не записывается в колонку номенклатура, хотя в сообщении выводится все правильно (пробовала разными способами: просто приравнивала к ТекКонтр.Номенклатура, просто справочник.номенклатура.найтиПоКоду, а последний раз вот таким способом)

3)Если документы с таким номером существует, то он все равно перечитывает и сообщает, что номер не уникален.Как сделать так чтобы он видел это Если НайденнаяСсылка.Пустая() Тогда


    СтрокаНаименования = НСН.Номер;
       Накл = Документы.РеализацияТоваровУслуг;
       НайденнаяСсылка = Накл.НайтиПоНомеру(СтрокаНаименования);
      
       Если НайденнаяСсылка.Пустая() Тогда

       
                
          Контр = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
         Контр.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия;
         Контр.Номер = НСН.Номер;
         Контр.Комментарий = НСН.Номер;
         Контр.Дата = НСН.День;
         Контр.Организация = Справочники.Организации.НайтиПоКоду("000000001");
         Контр.Склад = Справочники.Склады.НайтиПоКоду("000000001");
         Контр.Контрагент = Справочники.Контрагенты.НайтиПоКоду(НСН.Контрагент);
          Контр.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоКоду(НСН.Код);
         Контр.ЗачетАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически;
         
         ИскомоеЗначение = НСН.Код;
                           
            СтруктураОтбора = Новый Структура;
            СтруктураОтбора.Вставить("Договор", ИскомоеЗначение);
            НайденныйМассивСтрок = ТЗСост.НайтиСтроки(СтруктураОтбора);
            Для Каждого ТекКонтр Из НайденныйМассивСтрок Цикл
               
               Объект = Контр.Товары.Добавить();
               Номенкл = Справочники.Номенклатура.НайтиПоКоду(ТекКонтр.Номенклатура);
               Объект.Номенклатура = Номенкл.Наименование;
               Сообщить(Объект.Номенклатура);
               Объект.Количество = ТекКонтр.Количество;
               Объект.Цена = ТекКонтр.Цена;
               Объект.Сумма = ТекКонтр.Сумма;
               Объект.СтавкаНДС = ТекКонтр.НДС;
               ЗаполнитьЗначенияСвойств(Объект, ТекКонтр);

         КонецЦикла;
         Контр.Записать();
         Контр.ПолучитьФорму().Открыть();
         Если ПроводитьПН = Истина Тогда
          Контр.Записать(РежимЗаписиДокумента.Проведение);
                  КонецЕсли;
   
               КонецЕсли;
            КонецЕсли;
            

nn68

Попробуйте Объект.Номенклатура = Номенкл.Ссылка;

studentca

Нет так тоже не записывается номенклатура

nn68

Метод НайтиПоНомеру(НомерДокумента, ДатаИнтервала) - имеет 2 параметра. Документ, который Вы создаете скорее всего имеет периодическую нумерацию. Поэтому Вам просто нужно указать Дату интервала.

studentca

Сделала со 2 параметром, но результат такой же

nn68

НайденнаяСсылка = Накл.НайтиПоНомеру(СокрЛП(НСН.Номер), НСН.День) - должна возвращать пустую ссылку, если нет документа с номером  - НСН.Номер  в периоде,где НСН.День- дата из этого периода. Вы проверяли значения  НСН.Номер и НСН.День в отладчике, перед тем, как записать документ? НСН.День - должна быть датой.

studentca

у меня получилось с документом, он теперь видит записанные, но как быть с номенклатурой и ЗачетАвансов&Ds не подскажите как можно сделать истинным запись в зачет авансов, и с номенклатурой?

nn68

Попробуйте:
Контр.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически;

studentca

ЗачетАвансов получилось, а вот с номенклатурой никак не получается, не подскажите как можно сделать

nn68

Какой тип у реквизита табличной части товары "Номенклатура" ?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск