|   |   | 
| 
 | Ввод начальных остатков бух 3.0 | ☑ | ||
|---|---|---|---|---|
| 0
    
        roman844 27.12.16✎ 21:43 | 
        Всем доброго вечера. Есть проблема, пытаюсь заполнить обработкой начальные остатки по 10 счету, в частности Данные по счет фактуре. Но вот реквизит табличной части Счет фактура не заполняется данными, хотя в реквизитах установлен нужный тип документа. КАК быть?     | |||
| 1
    
        h-sp 27.12.16✎ 21:49 | 
        (0) на 10 счете нет счета-фактуры     | |||
| 2
    
        piter3 27.12.16✎ 21:50 | 
        в партии сф?ух ты     | |||
| 3
    
        zak555 27.12.16✎ 21:51 | 
        (1) а ндс ?     | |||
| 4
    
        trooba 27.12.16✎ 21:52 | 
        (0) Нифига не понятно.ЧТО за обработка. Что за код? Ввод начальных остатков регистратор записей в регистр. На 10 хранятся остатки по материалам. В чем цимус?     | |||
| 5
    
        roman844 27.12.16✎ 21:52 | 
        (1) На 10 нет,я  знаю. Но в документе Ввод начальных остатков есть партия (Документ расчетов с контрагентами), ниже есть табличная часть по счет-фактуре. Вот как раз в ней и затык. Руками все в порядке дает заводить. Я написал обработку, чтобы автоматизировать процесс. Но не могу заполнить реквизит Счет-Фаткура. В отладке показывает, что тип этого реквизита неопределено.     | |||
| 6
    
        trooba 27.12.16✎ 21:52 | 
        (4) вразрезе складов     | |||
| 7
    
        roman844 27.12.16✎ 21:53 | 
        (4) да     | |||
| 8
    
        roman844 27.12.16✎ 21:53 | 
        (6) да     | |||
| 9
    
        roman844 27.12.16✎ 21:53 | 
        вот мой код
 //ДОБАВИТЬ ЗАПИСЬ ТЧСчФактуры = НачОстатки.ДанныеПоСФ; нСтрока = ТЧСчФактуры.Добавить(); нСтрока.СчетФактура = ДокРасчетов.Ссылка.ТипЗначения.ПривестиЗначение(); нСтрока.ВидЦенности = Перечисления.ВидыЦенностей.Материалы; нСтрока.СпособУчетаНДС = ?(НДСВключатьВСтоимость, Перечисления.СпособыУчетаНДС.УчитываетсяВCтоимости, Перечисления.СпособыУчетаНДС.ПринимаетсяКВычету); нСтрока.СчетУчетаНДС = ПланыСчетов.Хозрасчетный.НДСпоПриобретеннымМПЗ; //19.03 нСтрока.СтавкаНДС = Перечисления.СтавкиНДС.НДС18; нСтрока.Количество = мРезультат[0].Количество; нСтрока.СуммаБезНДС = мРезультат[0].Сумма; | |||
| 10
    
        roman844 27.12.16✎ 21:53 | 
        как раз 3 строка ничего не присваивает     | |||
| 11
    
        trooba 27.12.16✎ 21:54 | 
        (5) ну так и привязывайсф к док ручной учет и сажай в документ ввод остатков     | |||
| 12
    
        roman844 27.12.16✎ 21:54 | 
        ТЧСчФактуры = НачОстатки.ДанныеПоСФ;
 нСтрока = ТЧСчФактуры.Добавить(); нСтрока.СчетФактура = ДокРасчетов.Ссылка; //ТУТ НЕ ЗАПОЛНЯЕТ нСтрока.ВидЦенности = Перечисления.ВидыЦенностей.Материалы; нСтрока.СпособУчетаНДС = ?(НДСВключатьВСтоимость, Перечисления.СпособыУчетаНДС.УчитываетсяВCтоимости, Перечисления.СпособыУчетаНДС.ПринимаетсяКВычету); нСтрока.СчетУчетаНДС = ПланыСчетов.Хозрасчетный.НДСпоПриобретеннымМПЗ; //19.03 нСтрока.СтавкаНДС = Перечисления.СтавкиНДС.НДС18; нСтрока.Количество = мРезультат[0].Количество; нСтрока.СуммаБезНДС = мРезультат[0].Сумма; | |||
| 13
    
        trooba 27.12.16✎ 21:56 | 
        (10) (Документ Ручной учет. Сф не можетбыть один, унего нужен документ основание, но не ввод нач остатков. :))     | |||
| 14
    
        roman844 27.12.16✎ 21:56 | 
        (11) к документу расчетов с контрагентами можно привязать сч-ф только по авансам, у меня не авансы, а поступление(док расчетов с контрагентами) + счет-фактура. не заполняется только реквизит счет фактура, такое ощущение что тип не назначен     | |||
| 15
    
        h-sp 27.12.16✎ 21:57 | 
        (12) в субконто Партии нет документа Счет Фактура. Там другие документы. Тщательнее смотри.     | |||
| 16
    
        roman844 27.12.16✎ 21:58 | 
        (13) в качестве счет фактуры я хочу указать документ ручного учета.     | |||
| 17
    
        h-sp 27.12.16✎ 21:59 | 
        (16) тч ДанныеПоСчФ это счет 19. Там ищи свою счет-фактуру.     | |||
| 18
    
        roman844 27.12.16✎ 22:00 | 
        (17) нет там счет фактуры     | |||
| 19
    
        roman844 27.12.16✎ 22:00 | 
        у нас ведется раздельный учет НДС     | |||
| 20
    
        roman844 27.12.16✎ 22:03 | 
        поэтому я указываю партию и в таб части Данные о Счет фактуре я пытаюсь указать в реквизите счет фактура тот же самый документ ручного учета. Когда делаю руками все нормально, обработкой не получается. Не могу присвоить значение реквизиту счет фактура. В отладке показывает ТИП НЕОПРЕДЕЛЕНО.     | |||
| 21
    
        trooba 27.12.16✎ 22:04 | 
        (19) Не затавляй меня материться. При чем тут ваш учет? Что бы запись в регистре была,тебе нужно создать док ручной учет, на его основании сделать СФ, если СФ может быть на этом счете, тооно туда станет. На 10 сколько субконто? С какого счета у тебя на 10 остатки появились?     | |||
| 22
    
        h-sp 27.12.16✎ 22:04 | 
        (19) всё равно 10 счет - это 10 счет. У него есть своя таб часть, он на нее и ориентируется.     | |||
| 23
    
        trooba 27.12.16✎ 22:07 | 
        (20) Открывай бухучет и читай про двойную запись, про баланс и за-баланс.     | |||
| 24
    
        roman844 27.12.16✎ 22:07 | 
        (22) да это понятно. при раздельном учете ндс появляется таб часть по сч-фактурам     | |||
| 25
    
        trooba 27.12.16✎ 22:08 | 
        (20) Напиши сюда субконто субсчетов счета 10     | |||
| 26
    
        roman844 27.12.16✎ 22:08 | 
        (25) Склады, номенклатура     | |||
| 27
    
        trooba 27.12.16✎ 22:09 | 
        Можетэто не Российский план счетов     | |||
| 28
    
        roman844 27.12.16✎ 22:09 | 
        (27) самый Российский     | |||
| 29
    
        trooba 27.12.16✎ 22:09 | 
        (26) Тогда на 10 что задокумент регистратор?     | |||
| 30
    
        trooba 27.12.16✎ 22:11 | 
        Какой СФ и куда ты его решил поместить     | |||
| 31
    
        roman844 27.12.16✎ 22:11 | 
        (29)причем тут регистратор??? я же говорю не про записи по счету 10     | |||
| 32
    
        h-sp 27.12.16✎ 22:12 | 
        (28) ну 10 счет у него своя табчасть, какие-то там тмц, значит эти 2 табчасти у тебя должны быть жестко друг к другу привязаны, а ты не привязал.     | |||
| 33
    
        roman844 27.12.16✎ 22:12 | 
        (30) мне нужно отразить док ручного учета как счет фактура     | |||
| 34
    
        roman844 27.12.16✎ 22:13 | 
        (32) ну так а я про что. они и будут привязаны по документу ручного учета, котрый надо занести во вторую таб часть     | |||
| 35
    
        roman844 27.12.16✎ 22:14 | 
        //я выполняю код
 ТЧСчФактуры = НачОстатки.ДанныеПоСФ; нСтрока = ТЧСчФактуры.Добавить(); нСтрока.СчетФактура = ДокРасчетов.Ссылка; //ТУТ НЕ РАБОТАЕТ!!!!!!!!!!! нСтрока.ВидЦенности = Перечисления.ВидыЦенностей.Материалы; нСтрока.СпособУчетаНДС = ?(НДСВключатьВСтоимость, Перечисления.СпособыУчетаНДС.УчитываетсяВCтоимости, Перечисления.СпособыУчетаНДС.ПринимаетсяКВычету); нСтрока.СчетУчетаНДС = ПланыСчетов.Хозрасчетный.НДСпоПриобретеннымМПЗ; //19.03 нСтрока.СтавкаНДС = Перечисления.СтавкиНДС.НДС18; нСтрока.Количество = мРезультат[0].Количество; нСтрока.СуммаБезНДС = мРезультат[0].Сумма; | |||
| 36
    
        roman844 27.12.16✎ 22:14 | 
        все остальное заполняет, кроме 
 нСтрока.СчетФактура = ДокРасчетов.Ссылка;//ТУТ НЕ РАБОТАЕТ!!!!!!!!!!! | |||
| 37
    
        roman844 27.12.16✎ 22:15 | 
        нСтрока.СчетФактура в отладке показывает что НЕОПРЕДЕЛЕНО. ПОЧЕМУУУУУУ?????     | |||
| 38
    
        trooba 27.12.16✎ 22:16 | 
        (34)ТС. Ввод нчальныых остатков в БП- это по сути операция. Операция- регистратор набора записей РегистрБухгалтерии.Хозрасчетный. Понимаешь куда клоню? Ввод остатков- не документ. Априори.     | |||
| 39
    
        trooba 27.12.16✎ 22:18 | 
        (37) Обложка для отображения набора записей из регистра. Андестенд?     | |||
| 40
    
        roman844 27.12.16✎ 22:19 | 
        (38) Понимаю. Но вопрос не про сам 10 счет, а про раздельный учет НДС. При заполнении нач остатков есть 2 таб части, в одной заполняется инфа по номенклатуре, вторая отражает счет фактуру, по которой было получено это ТМЦ. вот во вторйо табличной часте мне и надо заполнить счет фактуру. руками она заполняется. кодом нет. код выше выложен.     | |||
| 41
    
        trooba 27.12.16✎ 22:19 | 
        (38) Не проводной, как бы это помягче сформулировать....     | |||
| 42
    
        roman844 27.12.16✎ 22:20 | 
        (41) не понял, по подробнее можно?     | |||
| 43
    
        h-sp 27.12.16✎ 22:20 | 
        (36) попробуй вручную сначала эту ситуацию завести. Что получится.     | |||
| 44
    
        roman844 27.12.16✎ 22:22 | 
        (43) Если делаю РУКАМИ результат, получается тот который нужен.     | |||
| 45
    
        trooba 27.12.16✎ 22:23 | 
        (40) Брось весь свой код, так будет быстрее (42) Что значит, что значит, в документ в конфигураторе зайди и посмотри, куда он что пишет? Там стоит проведение- запретить. Программно попробуй для него сделать: Записать(РежимЗаписиДокумента.Проведение). Узнаешь много нового.     | |||
| 46
    
        roman844 27.12.16✎ 22:23 | 
        У меня такое ощущение, что реквизиту табличной части нужно установить определенный ТИП данных программно.     | |||
| 47
    
        trooba 27.12.16✎ 22:23 | 
        (44) Ничего в 8 такого из 7.7 не нужно. Полностью код твоей обработки брось     | |||
| 48
    
        roman844 27.12.16✎ 22:25 | 
        (47) держи
 &НаСервереБезКонтекста Функция НайтиДокументРасчетовПоВхДатеИВхНомеру(СтруктураПолей) ТекстЗапроса = "ВЫБРАТЬ | ЕСТЬNULL(ДокументРасчетовСКонтрагентом.Ссылка, НЕОПРЕДЕЛЕНО) КАК Ссылка |ИЗ | Документ.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом |ГДЕ | ДокументРасчетовСКонтрагентом.Организация = &Организация | И ДокументРасчетовСКонтрагентом.Контрагент = &Контрагент | И ДокументРасчетовСКонтрагентом.ДоговорКонтрагента = &ДоговорКонтрагента | И ДокументРасчетовСКонтрагентом.ДатаВходящегоДокумента = &ДатаВходящегоДокумента | И ДокументРасчетовСКонтрагентом.НомерВходящегоДокумента = &НомерВходящегоДокумента"; Запрос = Новый Запрос; Запрос.Текст = ТекстЗапроса; Запрос.УстановитьПараметр("Организация", СтруктураПолей.ОснОрганизация); Запрос.УстановитьПараметр("Контрагент", СтруктураПолей.Контрагент); Запрос.УстановитьПараметр("ДоговорКонтрагента", СтруктураПолей.Договор); Запрос.УстановитьПараметр("ДатаВходящегоДокумента", СтруктураПолей.ВхДата); Запрос.УстановитьПараметр("НомерВходящегоДокумента", СтруктураПолей.ВхНомер); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл СсылкаНаДок = Выборка.Ссылка; КонецЦикла; Возврат СсылкаНаДок; КонецФункции &НаСервере Процедура СформироватьДокументыПартииНаСервере(АдресФайла, НомерНачальнойСтроки, ОснОрганизация, ДокНачальныхОстатков) // Вставить содержимое обработчика. ТД = Новый ТабличныйДокумент; ТД.Прочитать(АдресФайла, СпособЧтенияЗначенийТабличногоДокумента.Текст); Для нСтроки = НомерНачальнойСтроки По ТД.ВысотаТаблицы Цикл _нСтроки = СтрЗаменить(нСтроки, Символы.НПП, ""); //ЧИТАЕМ ФАЙЛ ТекДок = ТД.ПолучитьОбласть("R" + _нСтроки + "C2").ТекущаяОбласть.Текст; //ТекДок Налоги = ТД.ПолучитьОбласть("R" + _нСтроки + "C3").ТекущаяОбласть.Текст; //Налоги ДатаСчФ = ТД.ПолучитьОбласть("R" + _нСтроки + "C4").ТекущаяОбласть.Текст; //ДатаСчФ НомерСчФ = ТД.ПолучитьОбласть("R" + _нСтроки + "C5").ТекущаяОбласть.Текст; //НомерСчФ ДатаНомерСчФ = ТД.ПолучитьОбласть("R" + _нСтроки + "C6").ТекущаяОбласть.Текст; //ДатаНомерСчФ НДСВключатьВСтоимость = ?(ТД.ПолучитьОбласть("R" + _нСтроки + "C7").ТекущаяОбласть.Текст = "0", Ложь, Истина); //НДСВключатьВСтоимость Контрагент = ТД.ПолучитьОбласть("R" + _нСтроки + "C8").ТекущаяОбласть.Текст; //Контрагент Договор = ТД.ПолучитьОбласть("R" + _нСтроки + "C9").ТекущаяОбласть.Текст; //Договор Склад = ТД.ПолучитьОбласть("R" + _нСтроки + "C10").ТекущаяОбласть.Текст; //МестоХранения Материал = ТД.ПолучитьОбласть("R" + _нСтроки + "C11").ТекущаяОбласть.Текст; //Материал Количество = ТД.ПолучитьОбласть("R" + _нСтроки + "C12").ТекущаяОбласть.Текст; //Количество ДатаДокументаРасчетная = Дата(Число(Прав(ДатаСчФ,4)),Число(Сред(ДатаСчФ,4,2)),Число(Лев(ДатаСчФ,2))); //ПРОВЕРКА ДОКУМЕНТОВ ПО КОНТРАГЕНТУ, ДОГОВОРУ, ВХ.ДАТЕ, ВХ.НОМЕРУ //--------------ТУТ--------------- //Описание структуры полей СтруктураПолей = Новый Структура("ОснОрганизация, Контрагент, Договор, ВхДата, ВхНомер"); СтруктураПолей.ОснОрганизация = ОснОрганизация; СтруктураПолей.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(Контрагент); СтруктураПолей.Договор = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(Договор, Истина,, СтруктураПолей.Контрагент); СтруктураПолей.ВхДата = ДатаДокументаРасчетная; СтруктураПолей.ВхНомер = СокрЛП(НомерСчФ); // Если Не ЗначениеЗаполнено(СтруктураПолей.Контрагент) Или НЕ ЗначениеЗаполнено(СтруктураПолей.Договор) Тогда Сообщить("Не заполнен контрагент или договор. Документ в 7.7 " + ТекДок); Продолжить; КонецЕсли; ДокРасчетовСсылка = НайтиДокументРасчетовПоВхДатеИВхНомеру(СтруктураПолей); Если ДокРасчетовСсылка = Неопределено Тогда НачатьТранзакцию(); //*************************************** //СОЗДАТЬ ДОКУМЕНТ РАСЧЕТОВ С КОНТРАГЕНТАМИ ДокРасчетов = Документы.ДокументРасчетовСКонтрагентом.СоздатьДокумент(); ДокРасчетов.Организация = ОснОрганизация; ДокРасчетов.ДатаВходящегоДокумента = ДатаДокументаРасчетная; ДокРасчетов.НомерВходящегоДокумента = НомерСчФ; ДокРасчетов.Дата = ДатаДокументаРасчетная; ДокРасчетов.Контрагент = СтруктураПолей.Контрагент; ДокРасчетов.ДоговорКонтрагента = СтруктураПолей.Договор; ДокРасчетов.Комментарий = "Перенесено из 1С 7.7 " + ДатаНомерСчФ; Попытка; ДокРасчетов.Записать(РежимЗаписиДокумента.Запись); Сообщить("Записан : " + ДокРасчетов.Ссылка); Исключение; Сообщить("При записи документа произошла обшибка записи. Документ в 7.7." + ТекДок); ОтменитьТранзакцию(); //*************************************** Продолжить; КонецПопытки; ЗафиксироватьТранзакцию(); //*************************************** Иначе ДокРасчетов = ДокРасчетовСсылка.ПолучитьОбъект(); КонецЕсли; //УСТАНОВИТЬ ССЫЛКУ НА ДОКУМЕНТ-ПАРТИЮ ДОКУМЕНТ РАСЧЕТОВ С КОНТРАГЕНТАМИ НачОстатки = ДокНачальныхОстатков.ПолучитьОбъект(); ТЧМатериалы = НачОстатки.НоменклатураНаСкладе; //ПОИСК ПО ТЧ ОТБОР = Новый Структура("Партия, Склад, Номенклатура"); //ОТБОР.Партия = Документы.ДокументРасчетовСКонтрагентом.ПустаяСсылка(); ОТБОР.Склад = Справочники.Склады.НайтиПоНаименованию(Склад); ОТБОР.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Материал); мРезультат = ТЧМатериалы.НайтиСтроки(ОТБОР); Если мРезультат <> Неопределено Тогда мРезультат[0].Партия = ДокРасчетов; Иначе Продолжить; КонецЕсли; Сообщить("Налоги : " + Налоги); Если СокрЛП(Налоги) = "НДС сверху 18%" Тогда Если НДСВключатьВСтоимость Тогда СчФОписаниеТипов = Новый ОписаниеТипов("ДокументСсылка.ДокументРасчетовСКонтрагентом"); //ЭлементыФормы.ДанныеПоСФ.СчетФактура.ОграничениеТипа = СчФОписаниеТипов; //ЭлементыФормы.ДанныеПоСФ.СчетФактура.Значение = СчФОписаниеТипов.ПривестиЗначение(); //ЭлементыФормы.ДанныеПоСФ.СчетФактура.ВыбиратьТип = Ложь; //ДОБАВИТЬ ЗАПИСЬ ТЧСчФактуры = НачОстатки.ДанныеПоСФ; нСтрока = ТЧСчФактуры.Добавить(); нСтрока.СчетФактура = ДокРасчетов.Ссылка; нСтрока.ВидЦенности = Перечисления.ВидыЦенностей.Материалы; нСтрока.СпособУчетаНДС = ?(НДСВключатьВСтоимость, Перечисления.СпособыУчетаНДС.УчитываетсяВCтоимости, Перечисления.СпособыУчетаНДС.ПринимаетсяКВычету); нСтрока.СчетУчетаНДС = ПланыСчетов.Хозрасчетный.НДСпоПриобретеннымМПЗ; //19.03 нСтрока.СтавкаНДС = Перечисления.СтавкиНДС.НДС18; нСтрока.Количество = мРезультат[0].Количество; нСтрока.СуммаБезНДС = мРезультат[0].Сумма; КонецЕсли; КонецЕсли; НачОстатки.Записать(РежимЗаписиДокумента.Запись); КонецЦикла; ВсегоЗаписей = нСтроки - НомерНачальнойСтроки; Сообщить("Обработано всего: " + ВсегоЗаписей + " записей"); КонецПроцедуры &НаКлиенте Процедура СформироватьДокументыПартии(Команда) Если ПерваяСтрокаФайлаЗаголовокТаблицы Тогда НомерНачальнойСтроки = 2; Иначе НомерНачальнойСтроки = 1; КонецЕсли; СформироватьДокументыПартииНаСервере(АдресФайла, НомерНачальнойСтроки, ОснОрганизация, ДокНачальныхОстатков); КонецПроцедуры &НаКлиенте Процедура АдресФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) // Вставить содержимое обработчика. ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогВыбора.МножественныйВыбор = Ложь; ДиалогВыбора.ПолноеИмяФайла = ""; Фильтр = НСтр("ru = 'Табличный документ'; en = 'Table document'") + "(*.mxl)|*.mxl"; ДиалогВыбора.Фильтр = Фильтр; ДиалогВыбора.Заголовок = "Укажите файл"; Если ДиалогВыбора.Выбрать() Тогда АдресФайла = ДиалогВыбора.ВыбранныеФайлы[0]; Иначе Возврат; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) // Вставить содержимое обработчика. ПерваяСтрокаФайлаЗаголовокТаблицы = Истина; КонецПроцедуры | |||
| 49
    
        zak555 27.12.16✎ 22:26 | 
        (38) > Ввод остатков- не документ
 куришь ? | |||
| 50
    
        roman844 27.12.16✎ 22:27 | 
        (49) не курю     | |||
| 51
    
        roman844 27.12.16✎ 22:27 | 
        Ребят, может кто натолкнуть на идею???     | |||
| 52
    
        roman844 27.12.16✎ 22:30 | 
        Как установить программно тип на реквизит ТЧ на форме???     | |||
| 53
    
        roman844 27.12.16✎ 22:32 | 
        написал вот это
 СчФОписаниеТипов = Новый ОписаниеТипов("ДокументСсылка.ДокументРасчетовСКонтрагентом"); ЭлементыФормы.ДанныеПоСФ.СчетФактура.ОграничениеТипа = СчФОписаниеТипов; ЭлементыФормы.ДанныеПоСФ.СчетФактура.Значение = СчФОписаниеТипов.ПривестиЗначение(); ЭлементыФормы.ДанныеПоСФ.СчетФактура.ВыбиратьТип = Ложь; Не знаю как обратиться с сервера к элементам формы. есть идеи??? | |||
| 54
    
        zak555 27.12.16✎ 22:35 | 
        Тип(ДокРасчетов) ???     | |||
| 55
    
        roman844 27.12.16✎ 22:36 | 
        (54)ДокументСсылка.ДокументРасчетовСКонтрагентом     | |||
| 56
    
        trooba 27.12.16✎ 22:36 | 
        (49) Да, "операция" в 7.7 и "ОперацияБух" в 8 тоже "Документ". А теперь по делу: 
 ДокРасчетов = Документы.ДокументРасчетовСКонтрагентом.СоздатьДокумент(); ДокРасчетов.Организация = ОснОрганизация; ДокРасчетов.ДатаВходящегоДокумента = ДатаДокументаРасчетная; ДокРасчетов.НомерВходящегоДокумента = НомерСчФ; ДокРасчетов.Дата = ДатаДокументаРасчетная; ДокРасчетов.Контрагент = СтруктураПолей.Контрагент; ДокРасчетов.ДоговорКонтрагента = СтруктураПолей.Договор; ДокРасчетов.Комментарий = "Перенесено из 1С 7.7 " + ДатаНомерСчФ; Попытка; ДокРасчетов.Записать(РежимЗаписиДокумента.Запись); Сообщить("Записан : " + ДокРасчетов.Ссылка); Исключение; Сообщить("При записи документа произошла обшибка записи. Документ в 7.7." + ТекДок); ОтменитьТранзакцию(); //*************************************** Продолжить; КонецПопытки; ЗафиксироватьТранзакцию(); //*************************************** Иначе ДокРасчетов = ДокРасчетовСсылка.ПолучитьОбъект(); КонецЕсли; Далее, Рег=РегистрБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); | |||
| 57
    
        roman844 27.12.16✎ 22:39 | 
        (56) мои данные не далют проводки по бух регистру     | |||
| 58
    
        trooba 27.12.16✎ 22:40 | 
        В бух 3.0?     | |||
| 59
    
        ВРедная 27.12.16✎ 22:41 | 
        (56) че ты там куришь?
 https://yadi.sk/i/bISNl-X135P82V | |||
| 60
    
        zak555 27.12.16✎ 22:41 | 
        (56) причём иуи документ Операция и документ ВВод остатков ?     | |||
| 61
    
        zak555 27.12.16✎ 22:41 | 
        (55) нет такого типа для этого реквизита, нужно ввести сф     | |||
| 62
    
        roman844 27.12.16✎ 22:41 | 
        (58) в бух 30 таб часть по ТМЦ делает проводки в регистр бухгалтерии. Данные по сч фаткурам не делает     | |||
| 63
    
        roman844 27.12.16✎ 22:43 | 
        (61) открой таб часть ДанныеПоСФ в конфигураторе там есть реквизит СЧЕТФАКТУРА - имеет составной тип один из котрых - ДокументСсылка.ДокументРасчетовСКонтрагентом     | |||
| 64
    
        trooba 27.12.16✎ 22:43 | 
        (59)  Привести пример заполнения остатков ? Блин,     | |||
| 65
    
        trooba 27.12.16✎ 22:44 | 
        (63) Есть,     | |||
| 66
    
        zak555 27.12.16✎ 22:45 | 
        (63) есть оказывается
 странно | |||
| 67
    
        roman844 27.12.16✎ 22:45 | 
        (65) ну и???!!! Я знаю что есть. Толкьо как программно в него записать?? по идее должен давать запись     | |||
| 68
    
        zak555 27.12.16✎ 22:46 | 
        (67) функциональная опция включена ?     | |||
| 69
    
        trooba 27.12.16✎ 22:47 | 
        (67) Перенос через Ком из 7.7 операции в операцию:
 Запрос = Новый Запрос; Запрос.Текст = ВернутьТекстЗапросаРегистраДополнительныхСведений("ОперацияБух"); Запрос.УстановитьПараметр("Значение", СокрЛП(КомДок.НомерДок)); Запрос.УстановитьПараметр("ДатаДокаКом", КомДок.ДатаДок); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Если ВыборкаДетальныеЗаписи.Следующий() тогда Док = ВыборкаДетальныеЗаписи.Объект.ссылка.ПолучитьОбъект(); Иначе Док=Документы.ОперацияБух.СоздатьДокумент(); КонецЕсли; Док.Организация=Объект.Организация; //Док.Номер=СокрЛП(КомДок.НомерДок); //Номер документа из 7.7 храним в дополнительных сведениях Док.Дата=КонецДня(КомДок.ДатаДок); Док.Записать(); Регистр = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Регистр.Отбор.Регистратор.Значение = Док.Ссылка; ТекКомДок=База77.CreateObject("Документ."+Строка(КомДок.Вид())); ТекКомДок.НайтиДокумент(КомДок.ТекущийДокумент()); Оп=ТекКомДок.Операция; Док.Содержание=Оп.Содержание; Док.Комментарий=ТекКомДок.Комментарий; Оп.ВыбратьПроводки(); Пока Оп.ПолучитьПроводку()=1 Цикл Дт=Оп.Дебет.Счет.Код; Кт=Оп.Кредит.Счет.Код; КомСчетДт=База77.CreateObject("Счет"); КомСчетДт.НайтиПоКоду(Дт); КомСчетКт=База77.CreateObject("Счет"); КомСчетКт.НайтиПоКоду(Кт); КомПодразделениеКод=СокрЛП(Оп.Подразделение.Код); Подразделение=Справочники.ПодразделенияОрганизаций.НайтиПоКоду(Оп.РазделительУчета.Код); Проводка=Регистр.Добавить(); Проводка.Содержание=Оп.СодержаниеПроводки; //СчетДт Структура=Новый Структура; Структура.Вставить("Счет77",Дт); Массив=Объект.ТЧ_Счета.НайтиСтроки(Структура); Если Массив.ВГраница()>-1 Тогда СчетДт=Массив[0].Счет8; Иначе СчетДт=ПланыСчетов.Хозрасчетный.ПустаяСсылка(); КонецЕсли; Если СчетДт<>ПланыСчетов.Хозрасчетный.ПустаяСсылка() Тогда Если КомСчетДт.КоличествоСубконто()>0 Тогда Для Индекс=1 по КомСчетДт.КоличествоСубконто() Цикл Структура=ОбработатьСубконто(База77.ЗначениеВСтроку(Оп.Дебет.Субконто(Индекс)),Оп.Дебет.Субконто(Индекс),СчетДТ); Проводка.СчетДт=СчетДт; Проводка.Организация=Объект.Организация; Проводка.Период=ТекКомДок.ДатаДок; БухгалтерскийУчет.УстановитьСубконто(СчетДт, Проводка.СубконтоДт, Структура.НаименованиеПВХ, Структура.Элемент); Если СчетДт.УчетПоПодразделениям Тогда Проводка.ПодразделениеДт=Подразделение; КонецЕсли; Если СчетДт.Количественный Тогда Проводка.КоличествоДт=Оп.Количество; КонецЕсли; Если СчетДт.НалоговыйУчет Тогда Проводка.СуммаНУДт=Оп.Сумма; КонецЕсли; КонецЦикла; Иначе Проводка.СчетДт=СчетДт; Проводка.Организация=Объект.Организация; Проводка.Период=ТекКомДок.ДатаДок; Если СчетДт.УчетПоПодразделениям Тогда Проводка.ПодразделениеДт=Подразделение; КонецЕсли; Если СчетДт.Количественный Тогда Проводка.КоличествоДт=Оп.Количество; КонецЕсли; Если СчетДт.НалоговыйУчет Тогда Проводка.СуммаНУДт=Оп.Сумма; КонецЕсли; КонецЕсли; КонецЕсли; //СчетКт Структура=Новый Структура; Структура.Вставить("Счет77",Кт); Массив=Объект.ТЧ_Счета.НайтиСтроки(Структура); Если Массив.ВГраница()>-1 Тогда СчетКт=Массив[0].Счет8; Иначе СчетКт=ПланыСчетов.Хозрасчетный.ПустаяСсылка(); КонецЕсли; Если СчетКт<>ПланыСчетов.Хозрасчетный.ПустаяСсылка() Тогда Если КомСчетКт.КоличествоСубконто()>0 Тогда Для Индекс=1 по КомСчетКт.КоличествоСубконто() Цикл Структура=ОбработатьСубконто(База77.ЗначениеВСтроку(Оп.Кредит.Субконто(Индекс)),Оп.Кредит.Субконто(Индекс),СчетКт); Проводка.СчетКт=СчетКт; Проводка.Организация=Объект.Организация; Проводка.Период=ТекКомДок.ДатаДок; БухгалтерскийУчет.УстановитьСубконто(СчетКт, Проводка.СубконтоКт, Структура.НаименованиеПВХ, Структура.Элемент); Если СчетКт.УчетПоПодразделениям Тогда Проводка.ПодразделениеКт=Подразделение; КонецЕсли; Если СчетКт.Количественный Тогда Проводка.КоличествоКт=Оп.Количество; КонецЕсли; Если СчетДт.НалоговыйУчет Тогда Проводка.СуммаНУДт=Оп.Сумма; КонецЕсли; КонецЦикла; Иначе Проводка.СчетКт=СчетКт; Проводка.Организация=Объект.Организация; Проводка.Период=ТекКомДок.ДатаДок; Если СчетКт.УчетПоПодразделениям Тогда Проводка.ПодразделениеКт=Подразделение; КонецЕсли; Если СчетКт.Количественный Тогда Проводка.КоличествоКт=Оп.Количество; КонецЕсли; Если СчетКт.НалоговыйУчет Тогда Проводка.СуммаНУКт=Оп.Сумма; КонецЕсли; КонецЕсли; КонецЕсли; Проводка.Сумма=Оп.Сумма; КонецЦикла; Регистр.Записать(Истина); Док.СуммаОперации=Регистр.Итог("Сумма"); Док.ОбменДанными.Загрузка=Истина; Док.ПометкаУдаления=Ложь; Док.Записать(РежимЗаписиДокумента.Запись); Рег=РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей(); Рег.Отбор.Объект.Использование=Истина; Рег.Отбор.Объект.Установить(Док.Ссылка); Рег.Отбор.Свойство.Использование=Истина; Рег.Отбор.Свойство.Установить(ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Номер из Бухгалтерии 7.7")); Рег.Прочитать(); Если Рег.Количество()>0 Тогда Для Индекс=0 По Рег.Количество()-1 Цикл //Если Рег[Индекс].Свойство.Заголовок="Номер из Бухгалтерии 7.7" Тогда Рег[Индекс].Значение=СокрЛП(КомДок.НомерДок); //прервать; //КонецЕсли; КонецЦикла; Иначе Запись=Рег.Добавить(); Запись.Объект=Док.Ссылка; Запись.Свойство=ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Номер из Бухгалтерии 7.7"); Запись.Значение=СокрЛП(КомДок.НомерДок); КонецЕсли; Рег.Записать(Истина); Док.ОбменДанными.Загрузка=Ложь; Док.Записать(РежимЗаписиДокумента.Запись); КонецПроцедуры | |||
| 70
    
        roman844 27.12.16✎ 22:47 | 
        если открыть ввод начальных остатков форма "ФормаНоменклатура", то там при ручном вводе есть Процедура ДанныеПоСФНоменклатураНаСкладеСчетФактураНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка), как раз она открывает форму диалога для выбора документа ручного ввода - либо для формирования нового, либо для выбора из уже имеющихся     | |||
| 71
    
        DailyLookingOnA Sunse 27.12.16✎ 22:48 | 
        Он смотрит что-то не то на форме.
 (53) В УФ нет таких ЭлементыФормы, есть Элементы. ДанныеПоСФ тоже нет такого элемента. А при создании дока всё правильно. | |||
| 72
    
        roman844 27.12.16✎ 22:49 | 
        (71) ДанныеПоСФ - это таб часть док-та ввод начальных остатков     | |||
| 73
    
        roman844 27.12.16✎ 22:50 | 
        ВОПРОС: как из процедуры НаСервере обратиться к реквизиту таб части и установить нужный тип данных???     | |||
| 74
    
        DailyLookingOnA Sunse 27.12.16✎ 22:51 | 
        (72)
 Еще раз: в БП 3.0 не такого ЭлементыФормы.ДанныхПоФС в документ ввода остатков. | |||
| 75
    
        roman844 27.12.16✎ 22:51 | 
        Даже не к реквизиту таб части, а к определнному полю таб части расположенной на форме????     | |||
| 76
    
        DailyLookingOnA Sunse 27.12.16✎ 22:52 | 
        "нет" такого
 в "документе" P.S. Спать пора. | |||
| 77
    
        roman844 27.12.16✎ 22:52 | 
        (74) нету, я согласен, а что тогда есть?     | |||
| 78
    
        roman844 27.12.16✎ 22:52 | 
        (76) вопрос (73) и (75)???     | |||
| 79
    
        trooba 27.12.16✎ 22:53 | 
        (77) Запись в регистр напрямую. Сколько можно тупитьто?     | |||
| 80
    
        ВРедная 27.12.16✎ 22:53 | 
        (78) У тебя поле "ключ" в табличной части счетов-фактур заполняется?     | |||
| 81
    
        ВРедная 27.12.16✎ 22:54 | 
        +(80) 
 как определяешь, что твой код не работает? Возьми консоль запросов и выведи в ней таблицу ДанныеПоСФ твоего документа | |||
| 82
    
        trooba 27.12.16✎ 22:54 | 
        Нет там табличных частей,бЛЕАд. Там записи в регистрах отображаются. Включи мозг.     | |||
| 83
    
        DailyLookingOnA Sunse 27.12.16✎ 22:54 | 
        (78)
 Это не надо никому, потому и ответов нет. Создал док - открыл его. Для обращения к табличной части в форме есть БСП и внешние обработки заполнения объекта. | |||
| 84
    
        ВРедная 27.12.16✎ 22:55 | 
        (75) Тебе это не нужно     | |||
| 85
    
        DailyLookingOnA Sunse 27.12.16✎ 22:55 | 
        (80)
 Про ключ и НомерСтроки хотел написать, но автор не дорос еще. | |||
| 86
    
        ВРедная 27.12.16✎ 22:55 | 
        (82) это ты включи БП 3.0 и мозг. Есть в ней табличные части     | |||
| 87
    
        ВРедная 27.12.16✎ 22:56 | 
        (85) а как же он без ключа то? Он там небось себе уже миллион строк сгенерил и записал пока мы тут трепемся.     | |||
| 88
    
        trooba 27.12.16✎ 22:57 | 
        (86) Да, там естьтаблицы. Согласен, и отображают данные. Откуда?     | |||
| 89
    
        roman844 27.12.16✎ 22:57 | 
        (80) не заполняется ключ. Как его заполнить?     | |||
| 90
    
        ВРедная 27.12.16✎ 22:58 | 
        (89) ключом из таблицы номенклатуры     | |||
| 91
    
        DailyLookingOnA Sunse 27.12.16✎ 22:58 | 
        Элементы.ДанныеПоСФНоменклатураНаСкладе.ТекущиеДанные     | |||
| 92
    
        h-sp 27.12.16✎ 22:58 | 
        (75) Семен Семеныч. Что же ты туда ДокументОбъект пихаешь. Когда  ссылку надо.
 ДокРасчетов = ДокРасчетовСсылка.ПолучитьОбъект(); вот это нереальный бред. Пиши сразу по собственному. | |||
| 93
    
        trooba 27.12.16✎ 22:59 | 
        (86) (86) Сколько там табличных частей?     | |||
| 94
    
        ВРедная 27.12.16✎ 23:00 | 
        (93) 25     | |||
| 95
    
        trooba 27.12.16✎ 23:05 | 
        (94) Был не прав     | |||
| 96
    
        roman844 27.12.16✎ 23:05 | 
        (91) после заполнения ключа будет возможность сч фактуру заполнить?     | |||
| 97
    
        ВРедная 27.12.16✎ 23:06 | 
        (96) ответь на (81)     | |||
| 98
    
        h-sp 27.12.16✎ 23:11 | 
        (96) вот это что за фигня?
 мРезультат[0].Партия = ДокРасчетов; | |||
| 99
    
        roman844 27.12.16✎ 23:21 | 
        (98) привязка партии. Почему фигня?     | |||
| 100
    
        roman844 27.12.16✎ 23:22 | 
        (97) вы можете направить или натолкнуть на мысль?     | |||
| 101
    
        roman844 27.12.16✎ 23:23 | 
        (97) в отладке видно что реквизит неопределен.     | |||
| 102
    
        ВРедная 27.12.16✎ 23:33 | 
        (101)
 Вот после этой строки нСтрока.СчетФактура = ДокРасчетов.Ссылка в отладчике поле нСтрока.СчетФактура - не заполнено? Значит останавливайся отладчиком на этой строке и показывай ТипЗнч(ДокРасчетов.Ссылка) | |||
| 103
    
        roman844 27.12.16✎ 23:35 | 
        (101) тип ссылка на документ расчётов с контрагентами     | |||
| 104
    
        roman844 27.12.16✎ 23:38 | 
        (102) а вот настройка.СчетФактура тип НЕОПРЕДЕЛЕНО. Вот мне и не понятно почему. В реквизиты так части типы все выставлены, а когда присваивает значение то НЕОПРЕДЕЛЕНО.     | |||
| 105
    
        ВРедная 27.12.16✎ 23:39 | 
        (104) ты не на том концентрируешься. Она неопределно - потому что пустая.
 Покажи еще раз всю свою простыню. | |||
| 106
    
        roman844 27.12.16✎ 23:41 | 
        Я уже ушёл с работы.     | |||
| 107
    
        roman844 27.12.16✎ 23:41 | 
        На чем сконйетрироваться тогда?     | |||
| 108
    
        ВРедная 27.12.16✎ 23:42 | 
        на том, чтобы в отладчике после присвоения значения в реквизит строки ТЧ это значение туда твердо встало.     | |||
| 109
    
        roman844 27.12.16✎ 23:42 | 
        Я когда присваивает значение, она все равно пустая, при этом запись документа не проходит, так как реквизит пустой.     | |||
| 110
    
        roman844 27.12.16✎ 23:44 | 
        (108) в том то и дело, что тип НЕОПРЕДЕЛЕНО, а в значениях пусто. Хотя присваивает то значение которое нужно.     | |||
| 111
    
        ВРедная 27.12.16✎ 23:45 | 
        (108) Вот это тебе и нужно исправить. Должна быть не пустая.
 И от типа значения на форме данные объекта не зависят | |||
| 112
    
        roman844 27.12.16✎ 23:45 | 
        Ладно, приятных снов всем. Завтра выложу код, приходите помогать.     | |||
| 113
    
        roman844 27.12.16✎ 23:45 | 
        А что исправить     | |||
| 114
    
        ВРедная 27.12.16✎ 23:47 | 
        Лезь в отладчик и ползи по нему.
 Конструкция твоя вот эта: нСтрока.СчетФактура = ДокРасчетов.Ссылка должна привести к тому, что в нСтрока.СчетФактура будет ссылка на док расчетов. | |||
| 115
    
        ВРедная 27.12.16✎ 23:48 | 
        В твоей обработке, случайно, нет таблицы ТЧСчФактуры?     | |||
| 116
    
        roman844 27.12.16✎ 23:53 | 
        Неет     | |||
| 117
    
        roman844 27.12.16✎ 23:56 | 
        Всем спс. До завтра     | |||
| 118
    
        minele 28.12.16✎ 01:53 | 
        Попробуй как вариант не использовать объект: Перечисление     | |||
| 119
    
        roman844 28.12.16✎ 06:17 | 
        Доброе утро. Вопрос снова актуален.     | |||
| 120
    
        roman844 28.12.16✎ 06:18 | 
        (118) где ив каком месте не использовать перечисление и почему?     | |||
| 121
    
        roman844 28.12.16✎ 06:19 | 
        Проверяю вариант с ключом. По результатам отпишусь.     | |||
| 122
    
        h-sp 28.12.16✎ 06:41 | 
        (99)  мРезультат[0].Партия = ДокРасчетов.Ссылка;    !!!     | |||
| 123
    
        roman844 28.12.16✎ 09:10 | 
        Сделал     | |||
| 124
    
        roman844 28.12.16✎ 09:11 | 
        (122) вы правы, присваивает объект, исправил на ссылку и заполнил ключ во второй так части. Всем спасибо за помощь.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |