Вход | Регистрация


1С:Предприятие ::

Метки: 

v7: Заполнение документа на основании уже существующего

Я
   whitewolf87
 
28.09.17 - 12:21
Здравствуйте!
Помогите с кодом пожалуйста,
суть такова: у меня есть рассчитанный документ в программе, мне нужно с него взять количество, лицевые счета и в другом документе пересчитать данный объем.
Во вложении обработка которой я хочу это сделать.
ПО 1С 7.7.0.25.

Где ошибка? Не могу заполнить!
 
  Рекламное место пустует
   2S
 
1 - 28.09.17 - 12:22
1. добавить реквизит документоснование, включить галку ввода на основании.
2. Добавить соответствующий обработчик
илм
1. позвать спеца
   whitewolf87
 
2 - 28.09.17 - 12:23
Процедура Заполнить() 
    Если ТабЛС.КоличествоСтрок()>0 Тогда
        Если Вопрос("Очистить табличную часть перед заполнением?",4)=6 Тогда
            ТабЛС.УдалитьСтроки();
        КонецЕсли;
    КонецЕсли;
    
    Док=СоздатьОбъект("Документ.Перерасчет");
    Док.ВыбратьДокументы(НачМесяца(Дата1),КонМесяца(Дата2));            
    Пока Док.ПолучитьДокумент() > 0 Цикл
        Если Док.Комментарий<>"Начало отопительного периода" Тогда
            Продолжить;
        КонецЕсли;
        Если Док.Проведен()=0 Тогда
            Продолжить;
        КонецЕсли;
        Если Док.ПометкаУдаления()=1 Тогда
            Продолжить;
        КонецЕсли;          
        Док.ВыбратьСтроки();
        Пока Док.ПолучитьСтроку()=1 Цикл                   
            Количество=Док.Количество;
        КонецЦикла;
        
        Гл_ТаблЗаполнения.ВыбратьСтроки();
        Пока Гл_ТаблЗаполнения.ПолучитьСтроку()=1 Цикл 
            л_адрес=Гл_ТаблЗаполнения.Адрес; 
            
            спрБлаг.ИспользоватьВладельца(л_адрес);
            Если спрБлаг.НайтиПоРеквизиту("Услуга",пл_Услуга,0)=0 Тогда
                Продолжить;
                
            КонецЕсли;
            ТабЛС.НоваяСтрока();
            ТабЛС.Адрес=л_адрес;     
        КонецЦикла;
        РассчитатьСтроку();
    КонецЦикла;
    Гл_ТаблЗаполнения.Очистить();
КонецПроцедуры
   whitewolf87
 
3 - 28.09.17 - 12:24
Помочь можешь?
   2S
 
4 - 28.09.17 - 12:24
инфокрафт?
   2S
 
5 - 28.09.17 - 12:25
(3) у тебя не ввод на основании, а просто функция заполнения
   whitewolf87
 
6 - 28.09.17 - 12:26
нет у меня 1С просто обычная, конфа самописная, писал не я
   2S
 
7 - 28.09.17 - 12:27
Пока Док.ПолучитьСтроку()=1 Цикл                   
            Количество=Док.Количество;
        КонецЦикла;
 
ничего не смущает?
   whitewolf87
 
8 - 28.09.17 - 12:28
обработка выходит из помощника из документа перерасчёт
   whitewolf87
 
9 - 28.09.17 - 12:30
вместо количество ТабЛС.Количество ?
   whitewolf87
 
10 - 28.09.17 - 12:30
чувак можешь по ТимВивер помочь? Очень надо.
 
  Рекламное место пустует
   2S
 
11 - 28.09.17 - 12:32
(10) чувак, не могу, извини
   whitewolf87
 
12 - 28.09.17 - 12:33
(11) а как тогда правильно сделать?
   Ёпрст
 
13 - 28.09.17 - 12:34
(0) всё в топку.
По человечьи объяснить что нужно сделать.
   Lazy Stranger
 
14 - 28.09.17 - 12:36
(13) +1, из приведенного кода вообще нельзя понять что пытался добиться его автор
   2S
 
15 - 28.09.17 - 12:37
(14) да все там понятно, просто у ТС каша в голове.
Из ТЧ документов основания заполнить ТЧ текущего документа.
Но код конечно....
   whitewolf87
 
16 - 28.09.17 - 12:39
(13) из документа основания заполнить табличную часть текущего документа и сосчитать...
   whitewolf87
 
17 - 28.09.17 - 12:39
(15) да я не спорю что я ламер, в отличии от Вас, на то и сюда залез
   2S
 
18 - 28.09.17 - 12:41
(17) все были такими, не переживай
ВыгрузитьТабличнуюЧасть();
Обработай полученный ТЗ
ЗагрузитьТабличнуюЧАсть()
   Ёпрст
 
19 - 28.09.17 - 12:41
(16)
1.Где у тебя в коде документОснование ?
2.Зачем ты перебираешь документы определенного вида за целый месяц ?
3.Где у тебя в коде заполнение табличной части дока ?
4.Зачем в коде Таблица значений?
5.Что есть Гл_ТаблЗаполнения и чем она заполнена и откуда взялась ?
   whitewolf87
 
20 - 28.09.17 - 12:41
(18) я не переживаю, я с прошлого года только 1с 7 юзаю
   2S
 
21 - 28.09.17 - 12:43
(19) там видимо по списку документов нужно собрать один
   whitewolf87
 
22 - 28.09.17 - 12:43
(21) всё верно
   2S
 
23 - 28.09.17 - 12:44
(22) ну тогда юзай запрос
   whitewolf87
 
24 - 28.09.17 - 12:44
просто у нас 1 услуга начисляется на основании другой, потому сначала объем по 1 слуге в одной обработке обсчитать потом в другой обработке тех же людей их объем взять и умножить на норму и обсчиатть
   2S
 
25 - 28.09.17 - 12:45
(24) переходите на готовые решения.
поддержку онлайн касс реализовали в самописке?
   aka AMIGO
 
26 - 28.09.17 - 12:45
(21) + и срочно закомментировать вот это:
      //Док.ВыбратьСтроки();

        //Пока Док.ПолучитьСтроку()=1 Цикл                   

            //Количество=Док.Количество;

        //КонецЦикла;
   whitewolf87
 
27 - 28.09.17 - 12:48
(25) и что толку от них от готовых решений? привет большие растраты на техподдержку?

онлайн кассы делает другая фирма в другой базе мне на них до фени
   2S
 
28 - 28.09.17 - 12:49
(27) гугли "черный запрос" в 1С и работа с ТЗ
   whitewolf87
 
29 - 28.09.17 - 12:52
(28) я это понимаю, попробую по вашему методу (18) я не знаю как на основании документа заполнить таб часть, перемножение и деление и прочее я знаю
   aka AMIGO
 
30 - 28.09.17 - 12:52
инфы маловато.. Нет всего кода обработки.
Может, стала бы ясней задачка
   whitewolf87
 
31 - 28.09.17 - 12:53
могу на почту кинуть ert шку могу тимвивер дать, причина в том что знаний у меня не много год работаю программером на 7ке
   whitewolf87
 
32 - 28.09.17 - 12:53
счас дам код
   2S
 
33 - 28.09.17 - 12:53
(29) метод не мой
- тупая выборка из документа основания и добавление строк в документ
- метод по (18), ТЗ - прокладка
- запрос
 
  Рекламное место пустует
   whitewolf87
 
34 - 28.09.17 - 12:53
»
   Vol71
 
35 - 28.09.17 - 13:06
Пиши в почту, посмотрю.
   aka AMIGO
 
36 - 28.09.17 - 13:09
(34) Да, дружок.. Поскольку ты в цикле перебираешь ВСЕ документы, и в каждом ищешь Док.Количество, то в результате получишь последнее Количество из последнего документа, т.е. вообще непонятное значение.
https://i.paste.pics/47bbd1db4060e9b8ac624425827fb171.png

В результате вот тут ты считаешь что-то, используя невесть какое Количество:

https://i.paste.pics/29a6b10b1a75774e6a522dd2029c0a02.png

Как-бы я сделал: распечатал бы код, с карандашиком построчно проанализировал критически каждую строчку, стало-б понятно, где что искать, чтоб что-то получилось.
   aka AMIGO
 
37 - 28.09.17 - 13:13
В 1998 году я еще и граф-алгоритм рисовал, чтобы была ясная картина перед глазами.
Но способ кодирования - у каждого свой.
Это всё - не советы, а просто размышлизмы по теме.
   aka AMIGO
 
38 - 28.09.17 - 13:15
+37 в 1с-Конфигурации присутствует нужная каждому прогеру спасалка - Отладчик. Научился-б ТС шагать по Отладчику..
   whitewolf87
 
39 - 28.09.17 - 15:06
(38) я умею это, но не умею например загружать, как это, документы в существующий документ, что-то я умею что-то нет, я всего год программист, с мая того года,а так я сис админ.
   whitewolf87
 
40 - 28.09.17 - 15:08
Смена профессии кардинально, потому и потому и проблемы у меня с кодом...
   whitewolf87
 
41 - 28.09.17 - 15:08
(35) пишу
   whitewolf87
 
42 - 28.09.17 - 16:17
Просьба закрыть тему.проблема решена.



Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует