Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 10, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )


>  Получить данные из табличной части при выборке
Sirius83
Отправлено: 10.10.18, 13:26


Молчаливый
*

Группа: Пользователи
Сообщений: 8
Регистрация: 21.07.12
Пользователь №: 19286


Решено: надо
если ТабДок.ТМЦ = ТМЦ тогда
Опер.Кредит.ТМЦ = неправильно
РС. Большое спасибо DartRomanius!!!
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #146159 · Ответов: 2 · Просмотров: 129
 

>  Получить данные из табличной части при выборке
Sirius83
Отправлено: 09.10.18, 20:29


Молчаливый
*

Группа: Пользователи
Сообщений: 8
Регистрация: 21.07.12
Пользователь №: 19286


Доброго времени всем!
1C7.7 (7.70.027) Бухгатерия+производство+торговля+зарплата
Собственно говоря функция рабочая но есть одно - но, ТМЦ имеет реквизит Цена1 - ЦенаБезПДВ, если в документе цены не меняли вручную все ОК. получаем верную информацию. Но есть случаи когда в Док. ЦенаБезПДВ корретируется вручную (может существенно отличатся от той что в реквизите), полученная таким образом информация не будет верна. Помогите ЦенуБезПДВ для ТМЦ брать из Табличной части Докуиента (самый правильный вариант) на мой взляд.

Код
Функция ПолучитьВыборкуРасходОптЦена(ТМЦ)
    
    СуммаБПДВ = 0;
    
    Опер = СоздатьОбъект("Операция");
    Опер.ВыбратьОперации(НачДата, КонДата);
    
    Пока Опер.ПолучитьОперацию() = 1 Цикл
        
        Док = Опер.Документ;
        Если (Док.Вид() <> "РасходнаяНакладная") И (Док.Вид() <> "ВозвратнаяНакладная") Тогда
            Продолжить;
        КонецЕсли;
        
        Контрагент = Док.Клиент;
        
        Опер.ВыбратьПроводки();
        Пока Опер.ПолучитьПроводку() = 1 Цикл
        
            Если Опер.НашаФирма <> ВыбФирма Тогда
                Продолжить;
            КонецЕсли;
            
            // расход
            Если (Опер.Кредит.Счет = СчетПоКоду("281")) И
                (Опер.Кредит.Субконто(ВидыСубконто.ТМЦ) = ТМЦ) И
                (Опер.Дебет.Счет = СчетПоКоду("902")) Тогда
                //Нужно получить сумму    БезПДВ (Продажную!!!)
                //СуммаБПДВ = СуммаБПДВ + Опер.Сумма; //Получаем себестоимость
                СуммаБПДВ = СуммаБПДВ + Опер.Документ.Операция.Кредит.ТМЦ.Цена1*Опер.Количество; // цену получаем из реквизита ТМЦ - цена (БезПДВ), годится если в документе цены не меняли вручную.
                //Но если случаи когда в Док. ценаБезПДВ корретируется вручную (может существенно отличатся от той что в реквизите), нужно Цену БезПДВ брать из Табличной части (самый правильный вариант).
            КонецЕсли;
            
        КонецЦикла;
    КонецЦикла;
    
    Возврат СуммаБПДВ;
    
КонецФункции


Пробовал делать так:
Код
Функция ПолучитьВыборкуРасходОптЦена(ТМЦ)
    
    СуммаБПДВ = 0;
    
    Опер = СоздатьОбъект("Операция");
    Опер.ВыбратьОперации(НачДата, КонДата);
    
    Пока Опер.ПолучитьОперацию() = 1 Цикл
        
        Док = Опер.Документ;
        Если (Док.Вид() <> "РасходнаяНакладная") И (Док.Вид() <> "ВозвратнаяНакладная") Тогда
            Продолжить;
        КонецЕсли;
        
        Контрагент = Док.Клиент;
        
        Опер.ВыбратьПроводки();
        Пока Опер.ПолучитьПроводку() = 1 Цикл
        
            Если Опер.НашаФирма <> ВыбФирма Тогда
                Продолжить;
            КонецЕсли;
            //*******************
            ТабДок = Док.ТекущийДокумент();
            ТабДок.ВыбратьСтроки();
            Пока ТабДок.ПолучитьСтроку()=1 Цикл
                Если ТабДок.ТМЦ = Опер.Кредит.ТМЦ Тогда
                    ТМЦЦена = ТабДок.ЦенаБезНДС;
                КонецЕсли;
            КонецЦикла;
              //*******
            // расход
            Если (Опер.Кредит.Счет = СчетПоКоду("281")) И
                (Опер.Кредит.Субконто(ВидыСубконто.ТМЦ) = ТМЦ) И
                (Опер.Дебет.Счет = СчетПоКоду("902")) Тогда
                
                СуммаБПДВ = СуммаБПДВ + ТМЦЦена*Опер.Количество;
                
            КонецЕсли;
            
        КонецЦикла;
    КонецЦикла;
    
    Возврат СуммаБПДВ;
    
КонецФункции

В итоге ТМЦЦена вроде как верние данные получаю, но безконечный цыкл.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #146132 · Ответов: 2 · Просмотров: 129
 

>  Как Свернуть даные по нескольким значениям группировочных колонок
Sirius83
Отправлено: 03.10.18, 11:47


Молчаливый
*

Группа: Пользователи
Сообщений: 8
Регистрация: 21.07.12
Пользователь №: 19286


Vladal @ Сегодня, 10:36 * ,
В том-то и дело что надо то свернуть по группировке, сохраняя данные вложенных строк (34 и 37).
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #145936 · Ответов: 7 · Просмотров: 174
 

>  Как Свернуть даные по нескольким значениям группировочных колонок
Sirius83
Отправлено: 02.10.18, 23:29


Молчаливый
*

Группа: Пользователи
Сообщений: 8
Регистрация: 21.07.12
Пользователь №: 19286


Доброго времени всем!
1C7.7 (7.70.027) Бухгатерия+производство+торговля+зарплата
Итого есть отчет по реализации продукции, получаем дание из документов медодом "Свернуть" суммируем поля группировочных колонок 1 и 2 виводим ТЗ все ОК. Но некторие строки выборочно нужно еще "Свернуть". Например Строка Код 33 должна включать в себя 34 и 37. Помогите ето зделать грамотно, ведь не исключена ситуация что к примеру движения за период по коду 33 не будет а его нужно отобразить в отчете как сумму входящих в него кодов продукции.




 ! 

Правила: 8
 
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #145905 · Ответов: 7 · Просмотров: 174
 

>  Проблема вигрузки залишків номенклатури з регістру.
Sirius83
Отправлено: 24.06.18, 13:32


Молчаливый
*

Группа: Пользователи
Сообщений: 8
Регистрация: 21.07.12
Пользователь №: 19286


Sirius83 @ Сегодня, 2:23 * ,
Сам запитав, сам і відповім.
 Процедура Сформировать()
    КаталогВыгрузкиФайлы = КаталогВыгрузки + "\CSVFiles";
    Текст = СоздатьОбъект("Текст");
    Текст.ДобавитьСтроку("ProductID;Data;Qty;Summ");
    ДатаТек = ДатаНачало;
    Пока ДатаТек <= ВыбКонПериода Цикл
        Запр = СоздатьОбъект("Запрос");
                
        ТекстЗапр = "
    
        |Период с ДатаНачало по ДатаТек;
        |ТМЦ = Регистр.Остатки.ТМЦ;
        |Кво = Регистр.Остатки.Кво;
        |СуммаОсн = Регистр.Остатки.СуммаОсн;
        |Условие (ТМЦ в выбТМЦ);
        |Группировка ТМЦ;
        |Функция ККво = КонОст(Кво);
        |Функция КСуммаОсн = КонОст(СуммаОсн);";

        
        Если Запр.Выполнить(ТекстЗапр)=0 Тогда
            Возврат;
        КонецЕсли;
        
            Пока Запр.Группировка("ТМЦ")=1 Цикл
                Если Запр.ТМЦ.Выбран()=0 Тогда
                    Продолжить;
                КонецЕсли;
                Если Запр.ТМЦ.ЭтоГруппа()=0 Тогда
                    Текст.ДобавитьСтроку(СокрЛП(Запр.ТМЦ.Код) + ";" + ПреобразоватьДату(ДатаТек) + ";" + ОбработкаСтроки(СокрЛП(Запр.ККво)) + ";" +  СтрЗаменить(СокрЛП(Запр.КСуммаОсн), ",", "."));
                КонецЕсли;
                
            КонецЦикла;
            ДатаТек = ДатаТек + 1;
        КонецЦикла;
    
    Текст.ДобавитьСтроку("");
    Текст.Записать(КаталогВыгрузкиФайлы + "\Stocks.csv");

КонецПроцедуры
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #142849 · Ответов: 2 · Просмотров: 252
 

>  Проблема вигрузки залишків номенклатури з регістру.
Sirius83
Отправлено: 24.06.18, 1:23


Молчаливый
*

Группа: Пользователи
Сообщений: 8
Регистрация: 21.07.12
Пользователь №: 19286


Sirius83 @ Вчера, 23:12 * ,
Хочу поправити, результат у всіх строках на кожну дату отримуємо такий який відповідає результату на ВыбКонПериода.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #142847 · Ответов: 2 · Просмотров: 252
 

>  Проблема вигрузки залишків номенклатури з регістру.
Sirius83
Отправлено: 23.06.18, 22:12


Молчаливый
*

Группа: Пользователи
Сообщений: 8
Регистрация: 21.07.12
Пользователь №: 19286


Конфігурація бухгалтерия+торговля+производство+зарплата+кадры+Cash&Carry+розница+(торговля)+урб support, присутній як бухгалтерський облік так і оперативний, документи по оперативному і бух. обліку при проведенні записують дані в Регистр.Остатки. Задача вигрузити в текстовий файл згруповані залишки ТМЦ на кожну дату в періоді.
написав таке:

Код
Процедура Сформировать()
    КаталогВыгрузкиФайлы = КаталогВыгрузки + "\CSVFiles";
    Текст = СоздатьОбъект("Текст");
    Текст.ДобавитьСтроку("ProductID;Data;Qty;Summ");
    ДатаТек = ДатаНачало;
    
        Запр = СоздатьОбъект("Запрос");
                
        ТекстЗапр = "
    
        |Период с ДатаНачало по ВыбКонПериода;
        |ТМЦ = Регистр.Остатки.ТМЦ;
        |Кво = Регистр.Остатки.Кво;
        |СуммаОсн = Регистр.Остатки.СуммаОсн;
        |Условие (ТМЦ в выбТМЦ);
        |Группировка ТМЦ;
        |Функция ККво = КонОст(Кво);
        |Функция КСуммаОсн = КонОст(СуммаОсн);";

        
        Если Запр.Выполнить(ТекстЗапр)=0 Тогда
            Возврат;
        КонецЕсли;
        
        Пока ДатаТек <= ВыбКонПериода Цикл
            
            Пока Запр.Группировка("ТМЦ")=1 Цикл
                Если Запр.ТМЦ.Выбран()=0 Тогда
                    Продолжить;
                КонецЕсли;
                Если Запр.ТМЦ.ЭтоГруппа()=1 Тогда
                    Продолжить;
                Иначе
                    Текст.ДобавитьСтроку(СокрЛП(Запр.ТМЦ.Код) + ";" + ПреобразоватьДату(ДатаТек) + ";" + ОбработкаСтроки(СокрЛП(Запр.ККво)) + ";" +  СтрЗаменить(СокрЛП(Запр.КСуммаОсн), ",", "."));
                КонецЕсли;
            КонецЦикла;
            ДатаТек = ДатаТек + 1;
        КонецЦикла;
    
    Текст.ДобавитьСтроку("");
    Текст.Записать(КаталогВыгрузкиФайлы + "\Stocks.csv");

КонецПроцедуры


Результат на кожну дату один й той самий результат, та ще й відрізняється від реального.
Будь-ласка допоможіть, (сильно не сваріть, ятільки вчуся)
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #142830 · Ответов: 2 · Просмотров: 252
 

>  Обработка обслуживания принтеров чеков (COM и Windows принтеры)
Sirius83
Отправлено: 25.09.15, 22:40


Молчаливый
*

Группа: Пользователи
Сообщений: 8
Регистрация: 21.07.12
Пользователь №: 19286


А версии 2,60 случайно нету?
  Форум: Отчеты / Обработки · Просмотр сообщения: #103426 · Ответов: 29 · Просмотров: 36300
 


Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

RSS Текстовая версия Сейчас: 18.10.18, 5:55
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!

Курсы валют: доллар США к гривне Курсы валют: евро к гривне Курсы валют: российский рубль к гривне