Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 16:53
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Проблема со сворачиванием таблицы  (Прочитано 3100 раз)

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

Оффлайн sanya33

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-04-24
  • Сайт: 
Здравствуйте проблемка такая... Есть документ xls с колонками дата, номер, Склад, Контрагент, сырье, количество, сумма, ндс, сумма ндс.
При загрузки документа создаются документы по строчно. в документе ПОступление товаров и услуг
Например:
01.01.2001 | №2| Главный Склад | ООО Магазин | Мука |250| 2567руб| 0|0|
01.01.2001 | №2| Главный Склад | ООО Магазин | Тесто |250| 2567руб| 0|0|
01.01.2001 | №2| Главный Склад | ООО Магазин | Хлеб |250| 2567руб| 0|0|
01.01.2001 | №2| Главный Склад | ООО Магазин | Прироги |250| 2567руб| 0|0|

беда в том что должен создаваться один документ по данному контрагенту с перечисленным сырьем...а таких контрагентов много.
Какое сделать условие не могу сообразить....я новичек...не ругайтесь сильно...кто что знает подскажите пожалуйста...


Оффлайн wise

  • ****
  • Сообщений: 428
  • РЕПУТАЦИЯ: 58
  • КПД: 14%
  • Кто сгорел, того не подожжешь
  • Регистрация: 2013-03-21
  • Сайт: 
  • Профессия: Ученик 1С
(0) проверяй если в новой строке Контрагент = Контрагенту в предыдущей строки, то создаёшь строку документа, а если НЕ равен, то записываешь документ и создаёшь новый документ и далее по плану.
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Оффлайн markgenuine

  • ***
  • Сообщений: 217
  • РЕПУТАЦИЯ: 18
  • КПД: 8%
  • Регистрация: 2012-11-17
  • Сайт: 
Типа того должно быть:
ДокументПоступленияТиУ = Документы.ПоступленияТоваровИУслуг.СоздатьДокумент();
//ДокументПоступленияТиУ.......................................................
//заполняем шапку документа....................................................
//.............................................................................
Для Каждого СтрокаВашейТЗ Из ВашейТЗ Цикл
    НоваяСтрокаТЧ = ДокументПоступленияТиУ.Товары.Добавить();
    //Если у вас названия колонок в табличной части документа совпадают с той что в тз тогда так
    ЗаполнитьЗначениеСвойств(НоваяСтрокаТЧ,СтрокаВашейТЗ);
    //Если не совпадают то пробегаемся по каждой колонке в строке тз
    //Типа того: НоваяСтрока.Наименование = СтрокаВашейТЗ.Номенклатура;
    //и присваиваем каждую колонку соответствующей
КонецЦикла;

ДокументПоступленияТиУ.Записать();

Оффлайн sanya33

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-04-24
  • Сайт: 
Спасибо вам большое) буду пробовать)
Добавлено: 24 Апр 2014, 10:03

        Для Каждого ТекСтрокаТЗ Из ТаблицаЗначений Цикл

                  
           СпрОСЭлемент = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
         СпрОСЭлемент.Организация = Справочники.Организации.НайтиПоКоду("000000001");
          СпрОСЭлемент.Дата = ПолучитьДатуИзСтроки(ТекСтрокаТЗ.Дата) + 22*60*60;
         СпрОСЭлемент.ОтражатьВБухгалтерскомУчете = ИСТИНА;
         СпрОСЭлемент.ОтражатьВУправленческомУчете = ИСТИНА;
         СпрОСЭлемент.ОтражатьВНалоговомУчете = ИСТИНА;
         СпрОСЭлемент.Проведен = Истина;
         СпрОСЭлемент.ВидПоступления = Перечисления.ВидыПоступленияТоваров.НаСклад;
         СпрОСЭлемент.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(ТекСтрокаТЗ.Контрагент);
         СпрОСЭлемент.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоКоду("000000197");
         СпрОСЭлемент.СкладОрдер = Справочники.Склады.НайтиПоНаименованию(ТекСтрокаТЗ.Склад);
         СпрОСЭлемент.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия;
         СпрОСэлемент.КурсВзаиморасчетов = истина;
         СпрОСЭлемент.КратностьВзаиморасчетов = истина;
         СпрОСЭлемент.ВалютаДокумента =  Константы.ВалютаРегламентированногоУчета.Получить();
         СпрОСЭлемент.Комментарий  = Строка(ТекСтрокаТЗ.Номер);

   ///Получается здесь писать условие?      
                        
            НоваяСтрокаТовары = СпрОСЭлемент.Товары.Добавить();
          НоваяСтрокаТовары.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(ТекСтрокаТЗ.Сырье);
          НоваяСтрокаТовары.Количество = Число(ТекСтрокаТЗ.Количество);
          НоваяСтрокаТовары.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("кг");
          НоваяСтрокаТовары.Сумма = Число(ТекСтрокаТЗ.Сумма);
          НоваяСтрокаТовары.Цена = Число(ТекСтрокаТЗ.Цена);
          НоваяСтрокаТовары.СтавкаНДС = Число(ТекСтрокаТЗ.НДС);
          НоваяСтрокаТовары.СуммаНДС = Число(ТекСтрокаТЗ.СуммаНДС);
          НоваяСтрокаТовары.СтавкаНДС = истина;
           СпрОСЭлемент.Записать();



КонецЦикла;



Последний раз редактировалось: sanya33; 24 Апр 2014, 10:03. Причина: Объединение сообщений

Оффлайн СветланаCC

  • Модератор
  • *****
  • Сообщений: 295
  • РЕПУТАЦИЯ: 46
  • КПД: 16%
  • Я человек творческий, что хочу - то и творю))
  • Регистрация: 2010-11-03
  • Сайт: 
  • Профессия: Программист 1С
Что то типа этого))
ДокументПоступленияТиУ = Документы.ПоступленияТоваровИУслуг.СоздатьДокумент();
ПредыдцщийКонтрагент = "";
Для Каждого СтрокаВашейТЗ Из ВашейТЗ Цикл
Если ПредыдущийКонтрагент<>"" Тогда
   Если СтрокаВашейТЗ.Контрагент<>ПредыдущийКонтрагент Тогда
      ДокументПоступленияТиУ = Документы.ПоступленияТоваровИУслуг.СоздатьДокумент();
   КонецЕсли;
КонецЕсли;
    НоваяСтрокаТЧ = ДокументПоступленияТиУ.Товары.Добавить();
    //Если у вас названия колонок в табличной части документа совпадают с той что в тз тогда так
    ЗаполнитьЗначениеСвойств(НоваяСтрокаТЧ,СтрокаВашейТЗ);
    //Если не совпадают то пробегаемся по каждой колонке в строке тз
    //Типа того: НоваяСтрока.Наименование = СтрокаВашейТЗ.Номенклатура;
    //и присваиваем каждую колонку соответствующей
    ДокументПоступленияТиУ.Записать();
    ПредыдущийКонтрагент = СтрокаВашейТЗ.Контрагент;
КонецЦикла;
Тазовод)

Оффлайн СветланаCC

  • Модератор
  • *****
  • Сообщений: 295
  • РЕПУТАЦИЯ: 46
  • КПД: 16%
  • Я человек творческий, что хочу - то и творю))
  • Регистрация: 2010-11-03
  • Сайт: 
  • Профессия: Программист 1С
Вам же нужно делить контрагентам?
Тазовод)

Оффлайн sanya33

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-04-24
  • Сайт: 
Вам же нужно делить контрагентам?

да...
Добавлено: 24 Апр 2014, 10:33

Вам же нужно делить контрагентам?

да...

СпрОСЭлемент = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
ПредыдущийКонтрагент = "";
Для Каждого ТекСтрокаТЗ Из ТаблицаЗначений Цикл
Если ПредыдущийКонтрагент<>"" Тогда
   Если ТекСтрокаТЗ.Контрагент<>ПредыдущийКонтрагент Тогда
      СпрОСЭлемент = Документы.ПоступленияТоваровИУслуг.СоздатьДокумент();
   КонецЕсли;
КонецЕсли;
    НоваяСтрокаТовары = СпрОСЭлемент.Товары.Добавить();
    //Если у вас названия колонок в табличной части документа совпадают с той что в тз тогда так
    ЗаполнитьЗначениеСвойств(НоваяСтрокаТЧ,ТекСтрокаТЗ);
    //Если не совпадают то пробегаемся по каждой колонке в строке тз
    //Типа того: НоваяСтрока.Наименование = СтрокаВашейТЗ.Номенклатура;
    //и присваиваем каждую колонку соответствующей
            НоваяСтрокаТовары = СпрОСЭлемент.Товары.Добавить();
          НоваяСтрокаТовары.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(ТекСтрокаТЗ.Сырье);
          НоваяСтрокаТовары.Количество = Число(ТекСтрокаТЗ.Количество);
          НоваяСтрокаТовары.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("кг");
          НоваяСтрокаТовары.Сумма = Число(ТекСтрокаТЗ.Сумма);
          НоваяСтрокаТовары.Цена = Число(ТекСтрокаТЗ.Цена);
          НоваяСтрокаТовары.СтавкаНДС = Число(ТекСтрокаТЗ.НДС);
          НоваяСтрокаТовары.СуммаНДС = Число(ТекСтрокаТЗ.СуммаНДС);
          НоваяСтрокаТовары.СтавкаНДС = истина;
    СпрОСЭлемент.Записать();
    ПредыдущийКонтрагент = ТекСтрокаТЗ.Контрагент;
КонецЦикла;

так?)

Последний раз редактировалось: sanya33; 24 Апр 2014, 10:33. Причина: Объединение сообщений

Оффлайн СветланаCC

  • Модератор
  • *****
  • Сообщений: 295
  • РЕПУТАЦИЯ: 46
  • КПД: 16%
  • Я человек творческий, что хочу - то и творю))
  • Регистрация: 2010-11-03
  • Сайт: 
  • Профессия: Программист 1С
типа того
ПредыдущийКонтрагент = "";
Для Каждого СтрокаВашейТЗ Из ВашейТЗ Цикл
  Если СтрокаВашейТЗ.Контрагент<>ПредыдущийКонтрагент Тогда
     СпрОСЭлемент = Документы.ПоступленияТоваровИУслуг.СоздатьДокумент();
     СпрОСЭлемент.Организация = Справочники.Организации.НайтиПоКоду("000000001");
     СпрОСЭлемент.Дата = ПолучитьДатуИзСтроки(ТекСтрокаТЗ.Дата) + 22*60*60;
     СпрОСЭлемент.ОтражатьВБухгалтерскомУчете = ИСТИНА;
     СпрОСЭлемент.ОтражатьВУправленческомУчете = ИСТИНА;
     СпрОСЭлемент.ОтражатьВНалоговомУчете = ИСТИНА;
     СпрОСЭлемент.Проведен = Истина;
     СпрОСЭлемент.ВидПоступления = Перечисления.ВидыПоступленияТоваров.НаСклад;
     СпрОСЭлемент.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(ТекСтрокаТЗ.Контрагент);
     СпрОСЭлемент.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоКоду("000000197");
     СпрОСЭлемент.СкладОрдер = Справочники.Склады.НайтиПоНаименованию(ТекСтрокаТЗ.Склад);
     СпрОСЭлемент.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия;
     СпрОСэлемент.КурсВзаиморасчетов = истина;
     СпрОСЭлемент.КратностьВзаиморасчетов = истина;
     СпрОСЭлемент.ВалютаДокумента =  Константы.ВалютаРегламентированногоУчета.Получить();
     СпрОСЭлемент.Комментарий  = Строка(ТекСтрокаТЗ.Номер);
  КонецЕсли;
    НоваяСтрокаТовары = СпрОСЭлемент.Товары.Добавить();
          НоваяСтрокаТовары.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(ТекСтрокаТЗ.Сырье);
          НоваяСтрокаТовары.Количество = Число(ТекСтрокаТЗ.Количество);
          НоваяСтрокаТовары.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("кг");
          НоваяСтрокаТовары.Сумма = Число(ТекСтрокаТЗ.Сумма);
          НоваяСтрокаТовары.Цена = Число(ТекСтрокаТЗ.Цена);
          НоваяСтрокаТовары.СтавкаНДС = Число(ТекСтрокаТЗ.НДС);// ставка ндс в документе используется как перечисление
          НоваяСтрокаТовары.СуммаНДС = Число(ТекСтрокаТЗ.СуммаНДС);
    СпрОСЭлемент.Записать();
    ПредыдущийКонтрагент = ТекСтрокаТЗ.Контрагент;
КонецЦикла;
Тазовод)

Оффлайн sanya33

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-04-24
  • Сайт: 
типа того
ПредыдущийКонтрагент = "";
Для Каждого СтрокаВашейТЗ Из ВашейТЗ Цикл
  Если СтрокаВашейТЗ.Контрагент<>ПредыдущийКонтрагент Тогда
     СпрОСЭлемент = Документы.ПоступленияТоваровИУслуг.СоздатьДокумент();
     СпрОСЭлемент.Организация = Справочники.Организации.НайтиПоКоду("000000001");
     СпрОСЭлемент.Дата = ПолучитьДатуИзСтроки(ТекСтрокаТЗ.Дата) + 22*60*60;
     СпрОСЭлемент.ОтражатьВБухгалтерскомУчете = ИСТИНА;
     СпрОСЭлемент.ОтражатьВУправленческомУчете = ИСТИНА;
     СпрОСЭлемент.ОтражатьВНалоговомУчете = ИСТИНА;
     СпрОСЭлемент.Проведен = Истина;
     СпрОСЭлемент.ВидПоступления = Перечисления.ВидыПоступленияТоваров.НаСклад;
     СпрОСЭлемент.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(ТекСтрокаТЗ.Контрагент);
     СпрОСЭлемент.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоКоду("000000197");
     СпрОСЭлемент.СкладОрдер = Справочники.Склады.НайтиПоНаименованию(ТекСтрокаТЗ.Склад);
     СпрОСЭлемент.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия;
     СпрОСэлемент.КурсВзаиморасчетов = истина;
     СпрОСЭлемент.КратностьВзаиморасчетов = истина;
     СпрОСЭлемент.ВалютаДокумента =  Константы.ВалютаРегламентированногоУчета.Получить();
     СпрОСЭлемент.Комментарий  = Строка(ТекСтрокаТЗ.Номер);
  КонецЕсли;
    НоваяСтрокаТовары = СпрОСЭлемент.Товары.Добавить();
          НоваяСтрокаТовары.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(ТекСтрокаТЗ.Сырье);
          НоваяСтрокаТовары.Количество = Число(ТекСтрокаТЗ.Количество);
          НоваяСтрокаТовары.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("кг");
          НоваяСтрокаТовары.Сумма = Число(ТекСтрокаТЗ.Сумма);
          НоваяСтрокаТовары.Цена = Число(ТекСтрокаТЗ.Цена);
          НоваяСтрокаТовары.СтавкаНДС = Число(ТекСтрокаТЗ.НДС);// ставка ндс в документе используется как перечисление
          НоваяСтрокаТовары.СуммаНДС = Число(ТекСтрокаТЗ.СуммаНДС);
    СпрОСЭлемент.Записать();
    ПредыдущийКонтрагент = ТекСтрокаТЗ.Контрагент;
КонецЦикла;

Спасибо, Спасибо, Спасибо ОГРОМНОЕ!!!) Вы мне очень помогли) Здоровья ВАМ Крепкого не болейте)


Теги:
 

Проблема с выгрузкой НН в "Звит" Не найдено соответствие для схемы "J1201008"

Автор AldemaHРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 1185
Последний ответ 06 Июл 2016, 09:19
от AldemaH
проблема с "ЗагрузкаДанныхИзТабличногоДокумента"

Автор bratmaratРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4712
Последний ответ 08 Янв 2014, 14:30
от LordWizard
Проблема с развертыванием окон и сохранением окон

Автор SokresРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 2442
Последний ответ 09 Дек 2015, 14:09
от pavl_vs
Проблема с отчетом "Перемещение товаров"

Автор sailРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3330
Последний ответ 14 Дек 2010, 20:27
от progmikon
1C 8.2 УПП проблема с отчетом "Задолженость по контрагентам"

Автор LeonidLeonidРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3592
Последний ответ 26 Сен 2011, 20:42
от Dethmontt

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
59 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
alexandr_ll
24 Сообщений

* Кто онлайн

  • Точка Гостей: 310
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal