|
v8: Создание док.опер(бух и налог) остатки | ☑ | ||
---|---|---|---|---|
0
Sa6nek6
13.03.13
✎
09:35
|
Подскажите почему нет записей в документе?? док создается
Процедура КнопкаВыполнитьНажатие(Кнопка) Текст = Новый ТекстовыйДокумент; // открытие файла Текст.Прочитать("C:\1.txt"); //создание документа Док = Документы.ОперацияБух.СоздатьДокумент(); Док.Дата = Дат; Док.Организация = Организция; Док.Содержание = "Ввод началных остатков по счету З73"; РХоз = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); РХоз.Отбор.Регистратор.Установить(Док.Ссылка); Рхоз.Записывать = Истина; //перебор строк Для НомерСтроки = 1 по Текст.КоличествоСтрок() Цикл Стр = Текст.ПолучитьСтроку(НомерСтроки); Позиция = Найти(Стр,";"); //преобразование строку в массив МассивСтрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Стр,";"); Сотр = МассивСтрок[0]; Номен = МассивСтрок[1]; Деб = МассивСтрок[2]; Кред = МассивСтрок[3]; Если ЗначениеЗаполнено(Деб) Тогда Дебет = Число(Деб); КонецЕсли; Если ЗначениеЗаполнено(Кред) Тогда Кредет = Число(Кред); КонецЕсли; // поиск Сотруд = Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(Сотр)); Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(Номен)); //запись в регистрбух //Дт Если ЗначениеЗаполнено(Дебет) И Дебет > 0 Тогда Проводка = Рхоз.Добавить(); Проводка.Период = Док.Дата ; Проводка.Организация = Док.Организация; Проводка.СчетДт = ПланыСчетов.Хозрасчетный.Забаланс_РасчетыПоПаям; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,1,Сотруд); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт,2,Номенклатура); Проводка.КоличествоДт = Дебет; //Кт Иначе Если ЗначениеЗаполнено(Кредет) И Кредет >0 Тогда Проводка = Рхоз.Добавить(); Проводка.Период = Док.Дата; Проводка.Организация = Док.Организация; Проводка.СчетКт = ПланыСчетов.Хозрасчетный.Забаланс_РасчетыПоПаям; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,1,Сотруд); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,2,Номенклатура); Проводка.КоличествоКт = Кредет; Иначе Продолжить; КонецЕсли; КонецЕсли; Док.Записать(); КонецЦикла; //запись документа Док.Записать(); КонецПроцедуры |
|||
1
salvator
13.03.13
✎
09:35
|
Документ перед отбором регистратора надо записать
|
|||
2
Sa6nek6
13.03.13
✎
09:36
|
через отладчик смотрю, вставляет оба субконто но в доке не появляются записи(
|
|||
3
salvator
13.03.13
✎
09:37
|
Перед отбором регистра, т.е.
|
|||
4
Sa6nek6
13.03.13
✎
09:39
|
поставил толку нет(
|
|||
5
salvator
13.03.13
✎
09:42
|
Набор записей регистра кто будет записывать?
|
|||
6
Sa6nek6
13.03.13
✎
09:43
|
так я записываю сверху только
РХоз=РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); РХоз.Отбор.Регистратор.Установить(Док.Ссылка); Рхоз.Записывать = Истина; |
|||
7
salvator
13.03.13
✎
09:45
|
КонецЕсли;
Док.Записать(); // - убрать КонецЦикла; //запись документа Док.Записать(); // - вместо этого написать РХоз.Записать(); |
|||
8
Sa6nek6
13.03.13
✎
09:46
|
неа(((
|
|||
9
cw014
13.03.13
✎
09:49
|
(8)
Процедура КнопкаВыполнитьНажатие(Кнопка) Текст = Новый ТекстовыйДокумент; Текст.Прочитать("C:\1.txt"); Док = Документы.ОперацияБух.СоздатьДокумент(); Док.Дата = Дат; Док.Организация = Организция; Док.Содержание = "Ввод началных остатков по счету З73"; Док.Записать(); СсылкаНаДокумент = Док.Ссылка; РХоз = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); РХоз.Отбор.Регистратор.Установить(Док.Ссылка); Для НомерСтроки = 1 по Текст.КоличествоСтрок() Цикл Стр = Текст.ПолучитьСтроку(НомерСтроки); МассивСтрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Стр,";"); Сотр = МассивСтрок[0]; Номен = МассивСтрок[1]; Деб = МассивСтрок[2]; Кред = МассивСтрок[3]; Если ЗначениеЗаполнено(Деб) Тогда Дебет = Число(Деб); КонецЕсли; Если ЗначениеЗаполнено(Кред) Тогда Кредет = Число(Кред); КонецЕсли; Сотруд = Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(Сотр)); Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(Номен)); //Дт Если ЗначениеЗаполнено(Дебет) И Дебет > 0 Тогда Проводка = Рхоз.Добавить(); Проводка.Период = Дат ; Проводка.Организация = Организация; Проводка.СчетДт = ПланыСчетов.Хозрасчетный.Забаланс_РасчетыПоПаям; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,1,Сотруд); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт,2,Номенклатура); Проводка.КоличествоДт = Дебет; //Кт ИначеЕсли ЗначениеЗаполнено(Кредет) И Кредет >0 Тогда Проводка = Рхоз.Добавить(); Проводка.Период = Док.Дата; Проводка.Организация = Док.Организация; Проводка.СчетКт = ПланыСчетов.Хозрасчетный.Забаланс_РасчетыПоПаям; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,1,Сотруд); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,2,Номенклатура); Проводка.КоличествоКт = Кредет; Иначе Продолжить; КонецЕсли; КонецЦикла; РХоз.Записать(); КонецПроцедуры |
|||
10
cw014
13.03.13
✎
09:50
|
Если ЗначениеЗаполнено(Деб) Тогда
Дебет = Число(Деб); КонецЕсли; Если ЗначениеЗаполнено(Кред) Тогда Кредет = Число(Кред); КонецЕсли; Обрамляй в "Попытка..Исключение" иначе если там хлам - вылетит |
|||
11
cw014
13.03.13
✎
09:51
|
ЗначениеЗаполнено(Кредет) И Кредет >0
заменяй на Кредет > 0 (соответственно ЗначениеЗаполнено(Дебет) И Дебет >0 в Дебет >0 |
|||
12
cw014
13.03.13
✎
09:52
|
Сотруд = Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(Сотр));
Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(Номен)); Добавь проверку, что ссылки найдены, и в переменных не лежат пустые ссылки |
|||
13
cw014
13.03.13
✎
09:56
|
Благодарность материальная приветствуется
|
|||
14
Sa6nek6
13.03.13
✎
09:58
|
Спасибо! Большое! будет возможность отблагодарю обязательно!
|
|||
15
cw014
13.03.13
✎
10:00
|
(14) Ну вон на телефон кинь 350 р - достаточно
|
|||
16
Sa6nek6
13.03.13
✎
10:24
|
за строчку?
|
|||
17
cw014
13.03.13
✎
12:38
|
(16) За переписывание твоего модуля
|
|||
18
aka AMIGO
13.03.13
✎
12:40
|
а где, пардоньте, оператор
Проводка.Записать(); ? |
|||
19
Starhan
13.03.13
✎
12:49
|
(0) ОперацияБух документ не проводится в свойствах
По этому набор записей надо записывать руками. |
|||
20
cw014
13.03.13
✎
15:41
|
(18) А это что такое за метод? К чему он привязан?
|
|||
21
aka AMIGO
13.03.13
✎
16:21
|
част работающего г-кода:
ДокОперация = Документы.ОперацияБух.СоздатьДокумент(); //документ и шапка ДокОперация.Дата = ДатаДокумента; ДокОперация.Организация = ВыбОрганизация; ... ДокОперация.Записать(); ДокОперацияСсылка = ДокОперация.Ссылка; ... //готовим регистры для записи РегХозрасчетный = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); РегХозрасчетный.Отбор.Регистратор.Значение = ДокОперацияСсылка; РегХозрасчетный.Очистить(); РегХозрасчетный.Записать(Истина); //все старые проводки очищены ... РегЗапись = РегХозрасчетный.Добавить(); 76.09 РегЗапись.Период = ДатаДокумента; РегЗапись.Регистратор = ДокОперацияСсылка; РегЗапись.Организация = ВыбОрганизация; РегЗапись.СчетДт = СчетЭЛ; БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, "Контрагенты", Стр.Контр); БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, "Номенклатура", СПН.НайтиПоНаименованию("эл.энергия день")); РегЗапись.КоличествоДт = Коплате; РегЗапись.Сумма = Сум; СуммаДокумента = СуммаДокумента + Сум; ... РегХозрасчетный.Записать(Истина); //записаны проводки = запись регистра - то, что я не увидел в сабже ДокОперация.СуммаОперации = СуммаДокумента; ДокОперация.Записать(); //записан сам документ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |